因此,我正在编写此鹦鹉螺脚本,用于将视频转码为mp3:
#! /bin/bash -x
if [ -z "$1" ]
then
zenity --warning --text="Error - No file selected !"
exit 1
fi
BASEFILENAME=${1%.*}
exec ffmpeg -i "$1" -ab 256k "$BASEFILENAME.mp3" &&
if [ "$?" -eq 0 ]
then
zenity --info --text="Converting successful"
exit
fi
问题是,尽管ffmpeg命令成功执行了 if [ "$?" -eq 0 ]
似乎没有被触发。这是为什么?是&&
错的还是别的吗?
只能通过exec
自身失败来到达该语句。如果成功,该ffmpeg
命令将完全替换外壳。(&&
通常,在这种情况下,遗嘱也会失败,因此根本无法实现。)您不想这样做exec
,只需运行它即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句