Я пытаюсь запустить следующие две задачи в bash-скрипте, запускаемом из php-скрипта. Оба из них выполняются правильно, когда я закомментирую другой, так что, очевидно, я неправильно выложил всю работу.
Они должны выполняться последовательно, а не параллельно, поэтому первый exec должен завершиться до запуска второго …
Я также должен отметить, что переменные передаются из скрипта php, который его запускает (если это актуально).
#!/bin/bash
Udata1=$1
Udata2=$2
#Encode incoming audio file to 128k MP3 using avconv
exec avconv - i /var/www/html/tracks/$Udata1/$Udata2 -ab 128k /var/www/html/tracks/$Udata1/serve/$Udata2.128k.mp3;
#Encode 128k MP3 generated above to WAV using avconv
exec avconv -i /var/www/html/tracks/$Udata1/serve/$Udata2.128k.mp3 /varwww/html/dump/$Udata2.wav
exit;
Я предполагаю, что я совершенно точно спрашиваю, как запустить несколько exec в одном и том же сценарии .sh?
exec
заменяет текущий запущенный процесс порожденным процессом. Это никогда не возвращается. Ты не можешь exec
две вещи как это.
Тем не менее, вам не нужно. Просто удали exec
из этих двух строк, и это должно работать нормально.
Других решений пока нет …