我將在3天內休假,所以我想在一個文件中完成一個任務,完成後使用bash腳本啓動另一個文件,我想要的方式做的是:第一次完成後啓動文件腳本
- 名單在一個文件中的文件位置,即(
toDo.txt
) - 一旦第一個文件是做它去到另一個。
實施例:
doDo.txt
內容:
/home/me/www/some_dir/file1F42.sh
/home/me/www/another_dir/fileD2cD.sh
/home/me/www/third_dir/fileG0IU.sh
/home/me/www/last_dir/fileVFpO.sh
file1F42.sh
:
some commands here
一旦完成後,應跳到線2,其是:fileD2cD.sh
我不想使用cron
,因爲我不知道文件什麼時候會完成處理,並且同時我不想一次啓動所有文件。
這是一個真實的例子,我剛剛完成的事:
ffmpeg -i Original/$domainName"_"$fileName"_"$f-Original.mp4 -strict experimental -vf "drawtext=fontfile='/usr/share/fonts/truetype/freefont/FreeSansBold.ttf':text='www.alfirdaous.com':x="$SizeX":y="$SizeY":fontsize="$textSize":fontcolor=$textColor" -vcodec libx264 -preset medium -crf 24 -acodec copy Done/"$domainName"_"$fileName"_$f-Done.mp4
mp4Box=$(MP4Box -add Done/"$domainName"_"$fileName"_$f-Done.mp4 "$domainName"_"$fileName"_$f.mp4)
echo $mp4Box >> ffmpeg_exec.log;
# Delete Done files
rm Done/"$domainName"_"$fileName"_$f-Done.mp4
# Get master thumbnail
ffmpeg -itsoffset -150 -i "$domainName"_"$fileName"_$f.mp4 -vcodec mjpeg -vframes 1 -an -f rawvideo -s 640x480 "$silsilaName"_$f.png
n=0
for offset in 140 160 180 200 220 240 260 280 300 320
do
printf -v outfile "$silsilaName"_"$f"_"%03d.png" "$((++n))"
ffmpeg -itsoffset -$offset -i $domainName"_"$fileName"_"$f.mp4 -vcodec mjpeg -vframes 1 -an -f rawvideo -s 640x480 "$outfile"
做
ffmpeg -i "$domainName"_"$fileName"_$f.mp4 -vn -ar 44100 -ac 2 -ab 128 -f mp3 $f.mp3
done
最後的命令行是: 的ffmpeg -i 「$則domainName」 「$文件名」 $ f.mp4 -vn -ar 44100 -ac 2 -ab 128 -f mp3 $ f.mp3
我怎麼知道它是完成,完成,所以我可以去我的文件列表「doDo.txt」並開始運行下一個文件?
你的命令的文件已經是一個有效的腳本。 – tripleee
一旦生成todo.txt,只需運行:sh todo.txt – sureshvv
我編輯我的問題上面的一個真實的例子 –