我有以下脚本:
#!/bin/bash
KID3=$(command -v kid3-cli)
ARG1="-c 'get'"
file="'1-01 - Johann Strauss - __Waldmeister___ Ouverture.flac'"
echo Command:
echo "$KID3" "$ARG1" "$file"
echo The kid3-cli output:
"$KID3" "$ARG1" "$file"
这会产生以下结果:
Command:
/usr/bin/kid3-cli -c 'get' '1-01 - Johann Strauss - __Waldmeister___ Ouverture.flac'
The kid3-cli output:
-c 'get', '1-01 - Johann Strauss - __Waldmeister___ Ouverture.flac' does not exist
请注意kid3-cli 输出中的逗号。我尝试过使用荣誉而不是引号(即${KID3} ${ARG1} ${file}
),但这似乎没有任何区别。如果我使用多个命令变量($ARG1、$ARG2 等),则在 Kid3-cli 输出中每个变量后都会跟一个逗号。
当我将命令 ( /usr/bin/kid3-cli -c 'get' '1-01 - Johann Strauss - __Waldmeister___ Ouverture.flac'
) 复制并粘贴到交互式 bash shell 中(即在命令提示符下)时,它可以工作。
Kid3-cli 输出中的这些逗号从何而来,我缺少什么以及如何解决此问题?