mpc 当前歌曲 bash 脚本故障安全
Posted
技术标签:
【中文标题】mpc 当前歌曲 bash 脚本故障安全【英文标题】:mpc current song bash script fail safe 【发布时间】:2018-11-18 19:03:04 【问题描述】:我有一个循环脚本:
#!/bin/sh
while [ true ]
do
mpc current > current_song.txt
mpc idle player
done
但有时它无法获取歌曲详细信息并创建一个空白文件。 FFMpeg 正在读取这个文件,如果它为空,它会崩溃。有什么方法可以保证脚本的安全,所以如果文件是空白的,它会添加特定的文本?
最好的方法是创建一个尝试读取文件的脚本,如果结果为空白,插入一些文本,然后休眠一段时间,还是有更优雅的方法来做到这一点?
【问题讨论】:
能否在“mpc current”行之后添加“if [!-s]; then echo Not found > current_song.txt; fi”?如果文件为空,这只会将“未找到”写入文件。顺便说一句,你的第一行应该是“while true”(你不需要方括号)。 上一行的小错误 - 在测试中遗漏了他的文件名!它应该是“如果[!-s current_song.txt]” 非常感谢!得到它的工作:) 【参考方案1】:如果文件确实为空(“ls -l”显示长度为 0),您可以将一些文本放入文件中,如下所示:
#!/bin/sh
while true
do
mpc current > current_song.txt
if [ ! -s current_song.txt ]; then
echo SongNotFound.mp3 > current_song.txt
fi
mpc idle player
done
【讨论】:
以上是关于mpc 当前歌曲 bash 脚本故障安全的主要内容,如果未能解决你的问题,请参考以下文章