我寫了下面一個bash腳本:的Rsync並引用
SRC="dist_serv:$HOME/www/"
DEST="$HOME/www/"
OPTIONS="--exclude 'file.php'"
rsync -Cavz --delete $OPTIONS $SRC $DEST
rsync的失敗,我想不通爲什麼,但它似乎是關係到$ OPTIONS變量(它的工作原理,當我刪除它)。我試着用一個反斜槓(其他的東西)逃避這個空間,但沒有奏效。 的錯誤信息是:
rsync: mkdir "/home/xxx/~/public_html/" failed: No such file or directory (2)
我想引用變量,會拋出另一個錯誤(我的變量$ OPTIONS「未知的選項」):
rsync: --exclude 'xxx': unknown option
rsync error: syntax or usage error (code 1) at main.c(1422) [client=3.0.6]
選項變量不能被引用,因爲它包含兩個詞語,並引用將防止它們被分裂解釋該命令時(它們將被認爲是一個單一的字符串)。在這種情況下,不引用OPTIONS將會起作用,因爲它不包含任何空格,但它不是一個通用的解決方案。 – Fred
當然是回覆:變量賦值!編輯我的問題... – mrtnmgs
@immicile如果您還可以提到您在問題中從'rsync'中獲得的確切錯誤消息,那將會有很大幫助! – Kusalananda