gpt4 book ai didi

bash - ssh-在初始连接上执行时,echo $ SSH_CLIENT返回空

转载 作者:行者123 更新时间:2023-12-02 14:13:50 27 4
gpt4 key购买 nike

当命令附加到ssh连接时。

ssh -p $port -t root@$ip "echo $SSH_CLIENT; bash"

一旦连接起来,似乎就会出现一条空线。
换句话说,服务器上仅回显了一条新行。

但是如果我手动粘贴
 echo $SSH_CLIENT

它工作正常。

为什么是这样 ?有什么解决方案?

最佳答案

在运行ssh命令之前,将在本地shell中扩展该变量。由于在本地 shell 程序上未设置它,因此您什么也没有得到,只是echo在远程 shell 程序上执行时默认生成的换行符。

您需要使用任何一种常用方式来将$逸出SSH_CLIENT前面:

ssh ... 'echo $SSH_CLIENT; bash'
ssh ... "echo \$SSH_CLIENT; bash"

请注意,尽管在这种情况下并不一定要这样做,但应引用变量扩展名,以防止单词拆分和路径名扩展。

关于bash - ssh-在初始连接上执行时,echo $ SSH_CLIENT返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41854287/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com