При установке сценария для выполнения слайд-шоу в Bash я столкнулся с раздражающей проблемой. Слайд-шоу будет работать очень хорошо, но промежуточные изображения (или фильмы) он отобразит рабочий стол, и экран покажет предупреждение выше. Я не уверен, как зафиксировать его; или почему это продолжается вообще действительно.
Сценарий, который я использую для проигрывания слайд-шоу, является довольно прямым:
while true
do
for f in $FILES
do
filename=$(basename "$f")
extension="${filename##*.})"
#shopt -s nocasematch
if [ $extension == "mp4" ] || [ $extension == "mov" ]
mplayer $filename -fs
elif [ $extension == "jpg" ]
timeout 5 /usr/bin/eog --fullscreen $filename
fi
done
done
Теперь я не уверен, что я сделал неправильно, Но это, кажется, единственный способ, которым я могу логически думать о записи этого сценария. Я пытался искать то, что означало предупреждение, но я ничто не мог найти релевантным. Я обязательно даже не надеюсь устранять проблему, Если бы существует способ подавить сообщение от высовывания экрана из слайд-шоу, я не возражал бы просто делать это вместо этого.
Я верю, Ваш сценарий не может работа. Исправьте ошибки ниже:
1 while true 2 do 3 for f in $FILES ^––SC1009 The mentioned parser error was in this for loop. 4 do 5 filename=$(basename "$f") 6 extension="${filename##*.})" 7 8 #shopt -s nocasematch 9 10 if [ $extension == "mp4" ] || [ $extension == "mov" ] ^––SC1049 Did you forget the 'then' for this 'if'? ^––SC1073 Couldn't parse this if expression. 11 mplayer $filename -fs 12 13 elif [ $extension == "jpg" ] ^––SC1050 Expected 'then'. ^––SC1072 Expected "#". Fix any mentioned problems and try again. 14 timeout 5 /usr/bin/eog --fullscreen $filename 15 16 fi 17 18 done 19 done<час>
мне ничего не улучшили или адаптированный к этому сценарию. Теперь это работает технически. Является ли Ваш код логически правильным, необходимо решить.
, Например:
while true; do
for f in $FILES; do
filename=$(basename "$f")
extension="${filename##*.}"
if [ "$extension" == "mp4" ] || [ "$extension" == "mov" ]; then
mplayer "$filename" -fs
elif [ "$extension" == "jpg" ]; then
timeout 5 /usr/bin/eog --fullscreen "$filename"
fi
done
done
<час>