由於我還沒有找到好的Linux鬧鐘,因此我正在創建鬧鐘腳本,並且我決定學習Bash腳本(再次)是個好主意, 。我正在研究製作一個播放鬧鐘聲音的程序(蜂鳴聲完整音量),我希望程序能夠在關閉聲音之前解決一些基本代數問題。然而,我無法弄清楚如何在播放聲音的同時尋求解決方案並等待我的輸入,這樣可以消除噪音。我甚至不知道我會用什麼表達來強制mpv在後臺嚴格執行。 &
和;
等待行終止,我無法通過使用parallel
來解決它。我也嘗試將輸出指向/dev/null
,因爲這似乎是其他人的答案,但它不適用於我的問題(在mpv終止之前沒有任何反應,這似乎很明顯,因爲它只忽略輸出權限?)。如何在Bash中運行程序時播放聲音文件
這是我到目前爲止已經完成(非常基本的,只具有結構,所以我可以用它進行編程):
# !/bin/zsh
function math(){
echo MATH
read answer
if ((("$answer") == $1)); then
echo PASS
else
echo FAIL
fi
}
echo 'Alarm'
let "NUM1=(($RANDOM % 10) * 3)";
let "NUM2=(($RANDOM % 10) * 3)";
let "m = $NUM1 * $NUM2"
printf "%d * %d = %d" "$NUM1" "$NUM2" "$m"
mpv alarm_sound.wav ; #>/dev/null 2>&1
math m
echo MATH
來後mpv
完成播放的聲音。
我的夢想是讓mpv
充當一個完全獨立的過程,以便if條件「通過」時不會影響alarm.sh
,然後kill -9 mpv
。
我完全失去了 - 在此先感謝!
看看Bash的'coproc'關鍵字。 – RTLinuxSW