我在使用bash从FFmpeg读取特定参数时遇到了麻烦。我想要的参数是这样的:
"FC_SOURCEFILE_MI_Audio_#1_Channel(s)"="1 channel"
"FC_SOURCEFILE_FC_location"="/content/flowcenter/highres/dokfest/dokfestftp8/Hands_Up_to_Heaven_prores1920x1080.mov"
第二个是用来确认它是否正常工作的
echo test: $FC_SOURCEFILE_MI_Audio_#1_Channel(s)
echo location: $FC_SOURCEFILE_FC_location
结果是这样的:
/home/mfc/ffmpeg/audio_pan.wav.sh: line 1: syntax error near unexpected token `('
/home/mfc/ffmpeg/audio_pan.wav.sh: line 1: `echo test: $FC_SOURCEFILE_MI_Audio_#1_Channel(s)'
通过使用第二个命令,我得到了这样的结果:
test: /content/flowcenter/highres/dokfest/dokfestftp8/Hands_Up_to_Heaven_prores1920x1080.mov
所以我的第一个猜测是,我的脚本不喜欢特殊字符,我查了ASCII的#
, (
, )
告诉我35为#,28为(,29为),但我不知道如何在我的bash文件中写这个。我唯一想到的是输入"35"
, "28"
和"29"
,但这不起作用。我错过了什么?
不要在变量名中使用特殊字符。这会让你省去很多麻烦。这些字符包括括号、花括号、大括号和井号。
如果你从变量声明中删除它们,你的echo语句应该可以正常工作