1. scp拷贝文件失败问题

  当在 shell startup script (比如 profile , bashrc)自动执行过程中产生了任何内容输出时, scp / sftp会把这些 echo 回来的东西认作协议包进行解析,结果自然是无法读懂这些内容,最终导致文件拷贝失败。

如果能够明确知道在自己的 /etc/bashrc 等文件里面哪些语句会产生 echo 的内容的话,可以通过条件判断进行 echo :

if [ $(expr index "$-" i) -ne 0 ]; then
    echo "welcome to shell , Now: "
    date +'%Y-%m-%d %T'
fi

这样只有在真正交互登录的时候才会 echo 信息, scp 的时候自动忽略。

http://www.zeali.net/entry/540

2.