Задать вопрос
@Greenberg2

Ошибка при запуске Bash в WSL (Syntax error)?

Здравствуйте! При попытке запустить это чудо в WSL возникает ошибка.
app.sh: 5: Syntax error: word unexpected (expecting "do")
mmDPdGnqfFo.jpg?size=875x310&quality=96&sign=3ca38911cfaa5a296107c24492ea63ce&type=album
ad=/path/endfile.mp4
clips_in=/path/
clips_out=/tmp/
for clip in $clips_in/*.mp4; do
  nm=`basename $clip .mp4`
  cat | ffmpeg -f concat -i - -c:v copy -c:a copy $clips_out/${nm}_out.mp4 << EOF
file $clip
file $ad
EOF
done
  • Вопрос задан
  • 872 просмотра
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 3
@ViZaVi70
Перенеси "do" в четвертой строке на следующую строку.
Ответ написан
BorLaze
@BorLaze
Java developer
Блин, ну вас в гугле забанили, что ли?

https://www.cyberciti.biz/faq/bash-for-loop/

Смотрим синтаксис:
for VARIABLE in $(Linux-Or-Unix-Command-Here)
do
	command1
	command2
	commandN
done


Видим:
- do на следующей строке после for
- перед do нет ;

Еще, подозреваю, вместо $clips_in/*.mp4 понадобится вызов find с этим параметром; но это не точно
Ответ написан
fzfx
@fzfx
18,5 дм
bash и sh - это разные оболочки. используйте баш для запуска скрипта.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы