fix*_*it7 0 bash scripts ubuntu-mate 20.04
有人可以帮助我吗?我需要一个 bash 脚本来播放一个短声音文件,等待 30 秒,播放另一个声音文件,再等待 30 秒。
(我会以此作为提醒,在使用电动牙刷时,在牙齿的每个象限上花费 30 秒。)
mpg123 /usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3
sleep 30
mpg123 /usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3
sleep 30
mpg123 /usr/share/sounds/My_Sounds/facility-alarm.mp3
sleep 30
Run Code Online (Sandbox Code Playgroud)
但它只播放第一个声音文件。??
(我会用它来提醒我在使用电动牙刷时刷牙的每个象限。)
我不得不说,这是我听过的最奇怪的原因之一(现在电动牙刷有内置定时器):D ...也许,您更希望计算机也给您提供语音指令,如下所示:
{
t=$(date +"%s")
while true
do
n=$(date +"%s")
((n<=(t+30))) && spd-say -w 'Brush Upper Left Quadrant'
((n>(t+30) && n<=(t+60))) && spd-say -w 'Brush Upper Right Quadrant'
((n>(t+60) && n<=(t+90))) && spd-say -w 'Brush Lower Left Quadrant'
((n>(t+90) && n<=(t+120))) && spd-say -w 'Brush Lower Right Quadrant'
((n>(t+120))) && break
done
}
Run Code Online (Sandbox Code Playgroud)
或者让它少一些喋喋不休,如下所示:
{
f=(
'Brush Upper Left Quadrant'
'Brush Upper Right Quadrant'
'Brush Lower Left Quadrant'
'Brush Lower Right Quadrant'
'Congratulations, mission accomplished'
)
for i in {0..4}
do
spd-say -w "${f[$i]}"
[ "$i" -lt 4 ] && sleep 30
done
}
Run Code Online (Sandbox Code Playgroud)
或者将timeout命令与您的播放器和音频文件一起使用,如下所示:
{
f=(
'Brush Upper Left Quadrant'
'Brush Upper Right Quadrant'
'Brush Lower Left Quadrant'
'Brush Lower Right Quadrant'
'Congratulations, mission accomplished'
)
for i in {0..4}
do
spd-say -w "${f[$i]}"
[ "$i" -lt 4 ] && sleep 30
done
}
Run Code Online (Sandbox Code Playgroud)
{
timeout 30 mpg123 --loop -1 /usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3
timeout 30 mpg123 --loop -1 /usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3
timeout 30 mpg123 --loop -1 /usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3
timeout 30 mpg123 --loop -1 /usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3
}
Run Code Online (Sandbox Code Playgroud)
或者播放每个文件一次,然后等待 30 秒,然后继续播放下一个文件,如下所示:
{
f=(
'/usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3'
'/usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3'
'/usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3'
'/usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3'
)
for i in {0..3}
do
mpg123 --loop -1 "${f[$i]}" &> /dev/null & p="$!"
sleep 30
kill "$p"
done
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
425 次 |
| 最近记录: |