Bash

點 (.) 導致別名中斷

  • January 22, 2020

我正在嘗試為命令創建別名 -

rsync -avh --omit-dir-times --delete --filter='protect .sync' /media/blueray/Data/_Work/ /media/blueray/Data/_CloudYandex/

我用來創建別名的命令是 -

alias by='rsync -avh --omit-dir-times --delete --filter='protect .sync' /media/blueray/Data/_Work/ /media/blueray/Data/_CloudYandex/'

我在嘗試執行別名時遇到的錯誤是 -

$ by
unexpected end of filter rule: protect
rsync error: syntax or usage error (code 1) at exclude.c(1011) [client=3.1.2]

我查了一下,發現alias只參加了dot之前的部分。

$ alias
..
alias by='rsync -avh --omit-dir-times --delete --filter=protect'
.....

我能做些什麼來克服這個問題?

單引號對,它們不嵌套。

將第二個和第三個單引號改為雙引號:

alias by='rsync -avh --omit-dir-times --delete --filter="protect .sync" /media/blueray/Data/_Work/ /media/blueray/Data/_CloudYandex/'

引用自:https://unix.stackexchange.com/questions/563405