Skip to content

Instantly share code, notes, and snippets.

@jonasc
Last active December 11, 2015 10:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jonasc/4588109 to your computer and use it in GitHub Desktop.
Save jonasc/4588109 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Original von https://taach.wordpress.com/2013/01/21/playr-ein-ipod-shuffle-fur-die-bash/
TRACK_FILE="/tmp/.tracklist.playr"
TEMP_FILE="/tmp/.temp.playr"
function quit {
rm --force "$TRACK_FILE" "$TEMP_FILE"
exit 1
}
trap quit SIGINT SIGTERM
rm --force "$TRACK_FILE" "$TEMP_FILE"
# Wir können die Anzahl der Musikstücke auch beim Einlesen hochzählen
size=0
for file in "$@"; do
echo "$file"
(( size++ ))
done > "$TRACK_FILE"
# Einmalig zufällig sortieren reicht aus
sort --random-sort "$TRACK_FILE" > "$TEMP_FILE"
mv "$TEMP_FILE" "$TRACK_FILE"
while (( size > 0 )); do
# Erste Zeile ist das neue Lied
track=$(head --lines=1 "$TRACK_FILE")
play "$track"
# Die übrigen Zeilen behalten
tail --lines=+2 "$TRACK_FILE" "$TEMP_FILE"
mv "$TEMP_FILE" "$TRACK_FILE"
(( size-- ))
done
rm --force "$TRACK_FILE" "$TEMP_FILE"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment