在 zsh 中使用 scp 或 echo 並帶有別名參數 print '沒有這樣的檔案或目錄'

在 zsh 中使用 scp 或 echo 並帶有別名參數 print '沒有這樣的檔案或目錄'

這裡是 MacOSX 上的 zsh。

我想指出的是,我嘗試了幾種方法,帶或不帶引號、單引號或雙引號、帶或不帶括號、帶/不帶$變數。但我收到過這樣的「沒有這樣的檔案或目錄」。

我的 ~/.zshrc 檔案別名部分有一行。

alias cpsos='source="${1}"; destination="${2}"; scp -i ~/.ssh/id_sos "${source}" __USERNAME__@__SERVER__:"${destination}"'

當我在終端時使用

% cpsos "/Users/sos/dev/g/qrcode/net.png" "/home/sos/webapps/demo/frontend/static/"

我收到 /home/sos/webapps/demo/frontend/static/: No such file or directory

我還嘗試使用一些技巧進行簡單的回顯來進行一些調試並了解錯誤是什麼。這裡還有一些 ~/.zshrc 行

# Automatically quote globs in URL and remote references
__remote_commands=(scp rsync)
autoload -U url-quote-magic
zle -N self-insert url-quote-magic
zstyle -e :urlglobber url-other-schema '[[ $__remote_commands[(i)$words[1]] -le ${#__remote_commands} ]] && reply=("*") || reply=(http https ftp)'
alias scp='noglob scp'
alias echosos='source="${1}"; destination="${2}"; echo "Source: ${source}" ; sleep 1; echo "Destination: ${destination}";'

然後,在終端機上

% echosos "/Users/sos/dev/g/qrcode/net.png" "/home/sos/webapps/demo/frontend/static/"

回覆

Source: Destination: zsh: permission denied: /Users/sos/dev/g/qrcode/net.png

總是取得「沒有這樣的檔案或目錄」或「權限被拒絕」。發生了什麼事?

過去是否有人遇到過此類問題,並且知道這種非常煩人的故障迫使您放棄完全使用別名功能的原因?在簡單的 bashrc 中,這並沒有發生,我正在認真考慮返回這個 shell 作為預設值。

感謝您的關注。

相關內容