bootSound: Remove usage of /dev/urandom
The bootSound script started to hang on strings /dev/urandom, so replace it with a cleaner random number generation. 24134 could be used for bash, but this would make the script less generic, as it is not available in POSIX. Use awk random() from a suggestion from ShellCheck. Remove the code that was there to control the parsing from /dev/urandom. Other fixes : - Use wc rather than grep to count the files - Use a subshell for proper directory handling
This commit is contained in:
parent
f8ce7759c8
commit
b6bcec6d88
1 changed files with 8 additions and 14 deletions
|
@ -1,16 +1,10 @@
|
|||
#! /bin/sh
|
||||
cd /home/trotfunky/Documents/Sounds/Startup/
|
||||
qty=$(ls | grep -c "" )
|
||||
(
|
||||
cd /home/trotfunky/Documents/Sounds/Startup/ || exit 255
|
||||
qty=$(ls | wc -l )
|
||||
|
||||
if [ $qty -lt 10 ]; then
|
||||
maxBit=1
|
||||
diGrep=[[:digit:]]
|
||||
elif [ $qty -lt 100]; then
|
||||
maxBit=2
|
||||
diGrep=[[:digit:]][[:digit:]]
|
||||
fi
|
||||
|
||||
mplayer -nogui -softvol -ao alsa,pulse $(expr $(strings /dev/urandom | cut -b 1-$maxBit | grep $diGrep -m 1 ) % $qty )* &
|
||||
cd -
|
||||
file_id=$(awk "BEGIN { srand(); print int(rand()*$qty) }" /dev/null)
|
||||
mplayer -nogui -softvol -ao alsa,pulse "$file_id"_*
|
||||
)
|
||||
|
||||
exit 0
|
Loading…
Add table
Reference in a new issue