在远程计算机上执行命令

在远程计算机上执行命令

我从我的电脑运行一个命令:

ssh user@server-name "df -hP | egrep '(/home|/cors)'"

问题是我得到了另外 3 行:

tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
/etc/bash.bashrc.local: line 9: HISTSIZE: readonly variable

我该怎么办才能得不到这 3 行?

Br,狼

答案1

你说你获取这些行,因此我假设您获得了所需的输出以及这些 stderr 消息。您可以将 stderr 部分重定向到/dev/null如下位置:

ssh user@server-name "df -hP | egrep '(/home|/cors)' 2>/dev/null"

或者

ssh user@server-name "df -hP 2>/dev/null | egrep '(/home|/cors)'"

取决于导致错误的原因。

答案2

我猜您在 ssh 连接的机器上的 bash 配置文件或 bashrc 等中有一些 tput 命令。请检查您主目录中的文件 .bashrc .bash_profile(在远程机器上)或 /etc 中的文件(如您的问题中提到的文件)。很难说出是什么原因导致的,因为您可能修改了这些文件,并且这会导致问题?

这还取决于您是否想要消除问题,或者您只是想让它不引人注意:那么可以将 stderr 重定向到 /dev/null (编辑:据我现在所知,其他答案与此有关)。

相关内容