Play random songs ================= Public domain ******************************************************************************** #!/bin/bash # History file TMP="/tmp/PlayRandom" touch ${TMP} while :; do # find number of files COUNT=$(find .| wc -l) # Create a random number between 1 and total number of files number=$RANDOM let "number %= $COUNT" let "number += 1" # Find exact filename of that random number FILENAME=$(find . | head -n $number | tail -n 1) # Check if it is file or directory LIST=$(ls -lh "$FILENAME") DIR=$(echo $LIST | egrep '^total') # If it is a directory start again if [ "${DIR}" != "" ]; then continue fi # Check if it is played before PWD=$(pwd) FILENAME=$(echo ${FILENAME} | sed -e "s,\.,${PWD},") EXIST=$(grep -q "${FILENAME}" "${TMP}";echo $?) if [ "${EXIST}" == "0" ]; then echo "\"${FILENAME}\" Played Before ..." continue fi # Play the file echo "Total Songs : $COUNT" echo "play number : $number" echo "Filename : \"$FILENAME\"" mplayer "$FILENAME" RET=$(echo $?) # If played completely save it to history if [ "$RET" == "0" ]; then echo $FILENAME >> ${TMP} fi # make space for break echo;echo;echo;sleep 1 done ******************************************************************************** _BY: Pejman Moghadam_ _TAG: bash, bash-script, random_ _DATE: 2009-05-26 13:40:34_