scp 輸出無意義的訊息並失敗

scp 輸出無意義的訊息並失敗

SSH 完全可以使用此命令:

$ ssh user@$THE_IP_ADDRESS

但是當我嘗試 scp 時,我得到了這個完全無意義的輸出

$ scp ~/file user@$THE_IP_ADDRESS:~/file
\033[?25l\033[?7l\033[0m\033[31m\033[1m            .-/+oossssoo+/-.

並且命令失敗。這個消息是什麼意思?為什麼我無法複製我的文件?

客戶是:

Darwin MacBook-Pro-4.local 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64

伺服器是:

Linux cortex-deus 4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

答案1

事實證明我.bashrc把它弄壞了。我的.bashrc來電新提取登入後可以列印一些樣式的 ASCII 藝術作品。這.-/+oossssoo+/-.是 ascii 藝術的一部分,其他的東西是顏色等的轉義碼。我透過在登入時不列印任何內容來修復它。

編輯:但是,如果您堅持在登入時回顯諸如 ascii art 之類的奇特內容,您可以保護您的命令,以if [[ $- =~ "i" ]]檢查會話是否是互動的。

答案2

我遇到同樣的問題。該問題是由終端會話開始時的 neofetch 呼叫引起的。在我的 .bashrc 中修復了這個:

if [[ $- != *i* ]]; then
    return;
else
    if [ -x /usr/bin/neofetch ]; then
        neofetch
    fi
fi

相關內容