如何退出从bash脚本创建的ssh会话?

时间:2013-03-17 08:12:56

标签: linux bash ssh

我有以下bash脚本test.sh

#!/bin/bash
ssh -o "StrictHostKeyChecking no" user@$1
#do some stuff
exit

但是,如果我运行此脚本./test.sh,我需要输入 ctrl + d 以退出ssh会话,看起来好像exit命令不起作用我想要的方式。

有什么方法可以退出从这个bash脚本创建的ssh会话?

1 个答案:

答案 0 :(得分:16)

您可能想要编码here document

#!/bin/bash
ssh -o "StrictHostKeyChecking no" user@$1 << ENDHERE
   here do some remote stuff
   also here
   exit
ENDHERE

如果编码<<-ENDHERE,则会抑制此处文档每行中的初始空格或制表符。除非您编码$foo,否则参数(例如<<\ENDHERE)将被替换,ENDHERE实际上可以是任何单词,通常是大写字母。

阅读Advanced Bash Scripting guide(确实存在一些不完善之处)