实施例bash脚本演示我的问题:如何将变量传递给bash脚本中的命令参数?
#!/bin/bash
function exclude
{
BACKUP_EXCLUDES="$BACKUP_EXCLUDES --exclude=\"$1\""
}
exclude "/proc"
exclude "/dev"
exclude "/mnt"
exclude "/media"
exclude "/lost+found"
echo $BACKUP_EXCLUDES
输出:
--exclude = “/ PROC” --exclude = “/ dev的” --exclude = “/ MNT” - exclude =“/ media”--exclude =“/ lost + found”
完美!但是当我尝试添加时:
rsync -ruvz $BACKUP_EXCLUDES//some/backup/path
$ BACKUP_EXCLUDES被完全忽略,没有错误或警告......为什么?
排除路径需要是相对的,不是绝对的。您可能需要'-x'选项而不是排除项。 – jordanm
我会推荐: --exclude-from = FILE –
请参阅[BashFAQ#50:我试图把一个命令放在一个变量中,但复杂的情况总是失败!](http://mywiki.wooledge.org/BashFAQ/050) –