在我的 shell 脚本中,如何在插入充电器时停止播放声音?
In my shell script, how can I make the sound stop playing when my charger is plugged in?
我是 shell 脚本编写的新手(以及与此相关的编程,请多多包涵)。
我在 Linux Mint 上写了一个脚本,它会在我的电池电量达到 15% 时通知我(使用 xcowsay)并播放声音(在第二个脚本中)"deththeme.wav"
基本上我希望我的 shell 脚本的第二部分在插入充电器时终止。我尝试使用无限循环和 exit 命令,但没有用.我脚本中的其他所有内容都完全符合我的要求。这是我的代码:
#!/bin/bash
while true
do
PLUG=`acpi | awk {'print '}`
while [ $PLUG = "Discharging," ]
do
BATSTAT=`acpi | cut -d , -f 2`
if [ $BATSTAT = "98%" ]
then
sh sound.sh &
xcowsay --time=10 "Plug that shit in!" | sleep 100
else
PLUG=`acpi | awk {'print '}`
fi
done
done
#!/bin/bash
x=1
z=1
while [ $x = 1 ]
do
play -q /home/greg/Documents/deththeme.wav
x=0
done
while [ $z = 1 ]
do
PLUG=`acpi | awk {'print '}`
if [ $PLUG = "Charging," ]
then
z=0
else
:
fi
done
问题是 play
在前台运行,因此您的脚本会等待它完成,然后再继续检查充电状态。
这是一个简单的示例,它在背景中播放声音,等待五秒钟,然后杀死玩家。您可以将 sleep
替换为等待充电的内容:
play -q somefile.wav &
sleep 5
kill $!
我是 shell 脚本编写的新手(以及与此相关的编程,请多多包涵)。 我在 Linux Mint 上写了一个脚本,它会在我的电池电量达到 15% 时通知我(使用 xcowsay)并播放声音(在第二个脚本中)"deththeme.wav" 基本上我希望我的 shell 脚本的第二部分在插入充电器时终止。我尝试使用无限循环和 exit 命令,但没有用.我脚本中的其他所有内容都完全符合我的要求。这是我的代码:
#!/bin/bash
while true
do
PLUG=`acpi | awk {'print '}`
while [ $PLUG = "Discharging," ]
do
BATSTAT=`acpi | cut -d , -f 2`
if [ $BATSTAT = "98%" ]
then
sh sound.sh &
xcowsay --time=10 "Plug that shit in!" | sleep 100
else
PLUG=`acpi | awk {'print '}`
fi
done
done
#!/bin/bash
x=1
z=1
while [ $x = 1 ]
do
play -q /home/greg/Documents/deththeme.wav
x=0
done
while [ $z = 1 ]
do
PLUG=`acpi | awk {'print '}`
if [ $PLUG = "Charging," ]
then
z=0
else
:
fi
done
问题是 play
在前台运行,因此您的脚本会等待它完成,然后再继续检查充电状态。
这是一个简单的示例,它在背景中播放声音,等待五秒钟,然后杀死玩家。您可以将 sleep
替换为等待充电的内容:
play -q somefile.wav &
sleep 5
kill $!