为什么ssh命令在linux终端上无法直接运行,但是写到bash脚本里面就可以执行?

比如说我在linux终端直接输入ssh-V查看ssh的版本,一回车就断开了和linux连接。但是如果我将ssh-V命令写到bash脚本里面,再执行bashxx.sh脚本。... 比如说我在linux终端直接输入ssh -V 查看ssh的版本,一回车就断开了和linux连接。但是如果我将ssh -V命令写到bash脚本里面,再执行 bash xx.sh脚本。 ssh -V就会执行,显示ssh版本信息。这是为啥啊? 展开
 我来答
百度网友5311d79
推荐于2016-09-21 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3192万
展开全部

-V      Display the version number and exit.

显示版本号并退出。

退出SSH当然就断开连接啦。


写在shell脚本里,执行的时候是在新建shell中执行的,退出也只是退出新建shell回到原shell,所以不影响连接。

试试执行:

(ssh -V)

放到小括号中,同样会新建shell去执行。

追问
可是为啥我执行 ssh user@host 这个命令也会退出呢?
追答
ssh user@host 就是一个正常的login动作,正常情况是不会有问题的。
我这里不存在你说的这种问题,可能跟环境配置有关。
你也试试这样呢:(ssh user@host)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式