【发布时间】:2019-12-20 18:23:53
【问题描述】:
我有两台主机,第一台通过 ssh 发送命令。第二个执行该命令并将输出打印到我的 xterm:
user@host_one:~# ssh user@host_two "ls"
user@host_two's password:
Document Downloads Music Pictures Videos
我想在我的“host_two”上获取远程命令的文本,在我的例子中是“ls”。然后我在 'host_two' 上的 /etc/bash.bashrc 脚本将获取该命令的文本并对其进行处理。
例如,我的 /etc/bash.bashrc 会这样做:
if [ -z "$PS1" ] # PS1 is my own global variable that is set only if it's a non-interaction session
then
echo $COMMAND_GOT_VIA_SSH
fi
那么我希望得到这样的结果:
user@host_one:~# ssh user@host_two "ls"
user@host_two's password:
ls
【问题讨论】:
-
P.S.当然 /etc/bash.bashrc 保存在我的第二台主机上。
-
您好,主机二的输出什么时候处理?什么时候登录?
-
请用其他信息编辑您的帖子,而不是添加评论
-
提示:如果你废弃
/etc/bash.bashrc,拥有bash作为登录shell 的用户将无法再登录,甚至root 用户也无法登录。更准确地说,他会立即被注销。 -
@Cyrus 带有 ` if [ -z "$PS1" ] ` 的行告诉 ` bash ` 下一个 ` then ` 语句将仅在非交互模式下执行,我已经通过通过 ssh 调用远程命令。