Cyber​​duck 中的“stdin:不是 tty”错误

Cyber​​duck 中的“stdin:不是 tty”错误

我正在使用 cyberduck(GUI SCP 客户端)。

通过我发送的命令:

chown -R username:username path/sp_furnicom17

出现以下错误:

stdin: is not a tty

我究竟做错了什么?

答案1

通常是这样的消息

stdin: is not a tty

当使用诸如scprsync或 SFTP 之类的东西时,意味着目标系统的登录脚本中存在某些内容,假定所有会话都将具有 TTY。这是不正确的:非交互式登录(例如scprsyncSFTP 即可)不会有 TTY。

如果您的登录脚本有任何尝试更改终端设置或执行任何其他输入/输出的内容,则应以会话是否具有 TTY 为条件。例如,如果您的~/.[bash_]profile.bashrc脚本具有以下命令:

echo "Today's fortune cookie:"
fortune

它们应该改为:

if tty -s
then
    echo "Today's fortune cookie:"
    fortune
fi

相关内容