bash - mpc 当前歌曲 bash 脚本故障安全

标签 bash shell ffmpeg mpd

我有一个循环的脚本:

#!/bin/sh
while [ true ]
do
  mpc current > current_song.txt
  mpc idle player
done

但是有时它无法获取歌曲详细信息并创建一个空白文件。
FFMpeg 正在读取这个文件,如果它为空,它会崩溃。有什么方法可以保证脚本的安全,所以如果文件是空白的,它会添加特定的文本?

最好的方法是创建一个尝试读取文件的脚本,如果它变成空白插入一些文本然后休眠一段时间,还是有更优雅的方法来做到这一点?

最佳答案

如果文件确实为空(“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

关于bash - mpc 当前歌曲 bash 脚本故障安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53364445/

相关文章:

带有填充颜色的FFmpeg drawbox

Bash 替换//不能像正则表达式那样处理 anchor ?因为它是类似球状的

linux - 如何以表格格式邮寄脚本输出

带有 grep 和 cut 的 bash 脚本 : command not found

linux - 当我在 perl 中调用 shell 命令时如何转义我的字符串?

ffmpeg - 检索rtsp时如何将连接超时添加到ffmpeg命令?

bash - 如何在不删除现有文件的情况下覆盖文件?

shell脚本无法将命令行的输出保存到变量中

Node.js:如何使用 shell 命令传递环境变量?

ffmpeg m3u8 正确编码