来自 scp 的“stdin:不是 tty”消息

来自 scp 的“stdin:不是 tty”消息

当我使用 scp 将文件复制到 CentOS 服务器时收到此消息"stdin: is not a tty"。这是什么意思?我该如何消除它?传输正常。

答案1

这可能是因为/etc/bashrc脚本正在尝试运行 stty,但 stdin 确实不是 tty。

当以非交互方式使用登录脚本时,您应该确保它提前退出。

在 csh 语法中,这通常是通过在登录脚本中添加类似这样的内容来完成的(之前的命令stty仅对交互式会话有用):

if ( ! $?USER || "$prompt" == "" || ! $?term ) then
    exit
endif

通过在 bash 的开头添加以下内容,可以完成相同的操作.bashrc

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

相关内容