在一个bash脚本中执行多个连续的exec任务


Multiple sequential exec tasks in a single bash script

我正试图在由php脚本触发的bash脚本中运行以下两项任务。当我评论另一个时,这两个都是正确执行的,所以这显然是我错误地布置完整作业的方式。

它们应该按顺序运行,而不是并行运行,所以第一个exec需要在第二个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;

我想我经常问的是如何在同一个.sh脚本中运行多个exec?

exec用派生的进程替换当前正在运行的进程。它再也回不来了。你不能exec两样东西。

也就是说你不需要。只需从这两行中删除exec,它就会正常工作。