gpt4 book ai didi

linux - 在我的 shell 脚本中,如何在插入充电器时停止播放声音?

转载 作者:太空宇宙 更新时间:2023-11-04 10:58:17 29 4
gpt4 key购买 nike

我是 shell 脚本的新手(以及与此相关的编程,请多多包涵)。我在 Linux Mint 上写了一个脚本,当我的电池电量达到 15% 时会通知我(使用 xcowsay)并播放声音(在第二个脚本中)“deththeme.wav”基本上我希望我的 shell 脚本的第二部分在插入充电器时终止。我尝试使用无限循环和 exit 命令,但没有用。我脚本中的其他所有内容都完全符合我的要求。这是我的代码:

    #!/bin/bash

while true
do

PLUG=`acpi | awk {'print $3'}`

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 $3'}`
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 $3'}`

if [ $PLUG = "Charging," ]
then
z=0
else
:
fi
done

最佳答案

问题是 play 在前台运行,因此您的脚本会等待它完成,然后再继续检查充电状态。

这是一个简单的示例,它在后台播放声音,等待五秒钟,然后杀死玩家。您可以将 sleep 替换为等待充电的东西:

play -q somefile.wav &
sleep 5
kill $!

关于linux - 在我的 shell 脚本中,如何在插入充电器时停止播放声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27969137/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com