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 艺术这样的花哨的东西,您可以保护您的命令以if [[ $- =~ "i" ]]
检查会话是否是交互式的。
答案2
我遇到了同样的问题。该问题是由终端会话开始时的 neofetch 调用引起的。通过在我的 .bashrc 中执行此操作可修复:
if [[ $- != *i* ]]; then
return;
else
if [ -x /usr/bin/neofetch ]; then
neofetch
fi
fi