Я пытаюсь запустить следующие две задачи в сценарии 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
из этих двух строк, и он должен работать нормально.
a bash script being triggered from a php script
должен быть уверен, что вы хорошо осведомлены о последствиях безопасности для этого.