mpc текущая песня bash-скрипт отказоустойчив
У меня есть скрипт, который зацикливается:
#!/bin/sh
while [ true ]
do
mpc current > current_song.txt
mpc idle player
done
Однако иногда он не может получить детали песни и создает пустой файл. FFMpeg читает этот файл, и он падает, если он пуст. Есть ли какой-нибудь способ обеспечить безопасность сценария, поэтому, если файл пуст, он добавляет определенный текст?
Будет ли лучший способ создать сценарий, который пытается прочитать файл, и если он оказывается пустым, вставить некоторый текст, а затем спать в течение определенного периода времени, или есть более элегантный способ сделать это?
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