Bash脚本和文件名中的空格

时间:2019-05-15 09:55:47

标签: bash macos

我在Mac OSX的bash脚本中文件名带有空格时遇到问题:

name="My File" #file name
version="1.0.0"

echo "Copying AAX..."
mkdir aax/
cp -R "/Library/Application Support/Avid/Audio/Plug-Ins/""${name}".aaxplugin aax

echo "Copying AU..."
mkdir au/
cp -R "~/Library/Audio/Plug-Ins/Components/""${name}".component au

echo "Copying VST2..."
mkdir vst/
cp -R "~/Library/Audio/Plug-Ins/VST/""${name}".vst vst

使用AAX文件可以很好地运行,但找不到适用于AU和VST的文件。我尝试引用命令行的不同部分,但是对于这两个命令,我总是得到“没有这样的文件或目录”。

那是怎么了?

谢谢!

1 个答案:

答案 0 :(得分:1)

两件事:

  1. 波浪号(~)的引号不扩展;如果您要使用$HOME,请改用它。
  2. 如果要使用代字号,则仅${name}需加双引号(以防止单词拆分)。

所以看起来像这样(1

"$HOME/Library/Audio/Plug-Ins/Components/${name}".component au

或者像这样(2):

~/Library/Audio/Plug-Ins/Components/"${name}".component au