我制作了一个bash脚本。我们称之为“runner.sh”。在里面,我正在运行带有一些标志的omxplayer。
omxplayer $TARGETFOLDER/*.mp4
这很好用。现在让我们调整大小并定位视频。
omxplayer —win "0 0 640 480" $TARGETFOLDER/*.mp4
这也很好。现在让我们尝试将“胜利旗帜”放在一个变量中。我正在逃避报价。
SizeAndPosition="—win \"0 0 640 480\""
好吧,现在我正在尝试。
omxplayer $SizeAndPosition $TARGETFOLDER/*.mp4
不,不行。我收到错误文件“0”未找到。为了确保,我将整个命令打印到屏幕上。
echo "omxplayer $SizeAndPosition $TARGETFOLDER/*.mp4"
......我得到了输出......
omxplayer —win "0 0 640 480" /homefolder/*.mp4
为什么它不能将我的变量识别为命令中的任何其他字符串?我能为此做些什么吗?
编辑:对此感到抱歉。问题是关于SizeAndPosition,为什么它不被视为参数?答案 0 :(得分:3)
而不是storing the command arguments in a variable,请使用数组:
SizeAndPosition=(-win '0 0 640 480')
omxplayer "${SizeAndPosition[@]}" "$TARGETFOLDER"/*.mp4