使用空格和逗号更正路径的bash语法

时间:2015-09-02 13:16:54

标签: bash rsync

我使用rsync备份数据。现在我在备份包含逗号和空格字符的文件夹时遇到了麻烦。我使用一个包含源名称的数组:

$this->alias->whatever()

最后一个条目的正确语法是什么?

1 个答案:

答案 0 :(得分:5)

引用它们:

dirs=(
    '/home/user/Desktop'
    ...
    '/home/user/foo, bar'
)

这可以防止发生word splitting。由于这些是字符串文字(例如,没有扩展变量),我更喜欢使用单引号。

大概你计划循环遍历这些目录,在这种情况下,你还应该在循环中引用变量:

for dir in "${dirs[@]}"; do
    rsync command using "$dir"
done

此处需要双引号,以便不执行单词拆分,但仍然会扩展变量。