實施例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) –