当我在命令提示符中输入时,我收到消息scp file1 [email protected]:file2
Can't open display
Can't open display
Can't open display
Can't open display
Can't open display
file1 100% 589KB 589.0KB/s 00:00
然后我等待大约 10 秒钟,然后scp
返回命令行。这不会发生在 时ssh
,只会发生在 时scp
。我使用的是 Fedora 18。
答案1
您的配置文件脚本可能有一些命令需要与终端仿真。在非交互式scp
会话中执行时它们会失败。
例如,如果您使用的是 bash,此类命令应从.bashrc
script移至.bash_profile
.
TERM
或者使用PS1
环境变量或类似的技巧来跳过非交互式会话的这些命令。
# If running interactively, then:
if [ "$PS1" ]; then
#### Alex's funky commands might go here <------
/usr/bin/ssh-agent &
# If this is an xterm set the title to user@host:dir
case $TERM in
xterm*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
#### Alex's funky commands might also go here if they apply to xterm sessions <------
;;
*)
;;
esac
fi
scp
如果您用于复制文件,这不会评估,但如果您启动交互式会话,则会评估。
(示例代码由@克里吉)