单个bash脚本中的多个顺序执行任务

时间:2015-02-12 00:06:19

标签: php bash exec avconv

我试图在从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?

1 个答案:

答案 0 :(得分:1)

exec用生成的进程替换当前正在运行的进程。它永远不会回来。你不能exec这样的两件事。

那说你不需要。只需从这两行中删除exec,它就可以正常工作。