为什么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版本信息。这是为啥啊?
展开
1个回答
展开全部
-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)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |