我有以下 bash 脚本test.sh
#!/bin/bash
ssh -o "StrictHostKeyChecking no" user@$1
#do some stuff
exit
但是,如果我运行此脚本./test.sh
,我需要输入ctrl+d才能退出 ssh 会话,并且该exit
命令似乎没有按我的预期工作。
有什么方法可以退出从这个 bash 脚本创建的这个 ssh 会话?
您可能想编写一个此处的文档
#!/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(确实有一些缺陷)