Bash
如何在此處文件中使用退出
當我在 HEREDOC 中使用多個 ssh 連接時,我有一個腳本,如下所示:
ssh -A -tt -l user 192.168.1.2 <<EOF ping server1 -c3 ssh server2 nslookup www.gogole.com exit ssh server3 ifconfig exit EOF
但是,當我在 EOF 中使用 exit 時,它會停止處理腳本而不是退出 SSH 會話,有什麼想法/技巧可以退出 ssh 會話而不是整個腳本嗎?
#'~.' - terminate session - doesn't work unfortunately
如果你想堅持這裡的文件
ssh -A -tt -l user 192.168.1.2 <<EOF ping server1 -c3 ssh server2 <<foobar1 nslookup www.gogole.com more commands exit foobar1 ssh server3 <<foobar2 ifconfig more more commands exit foobar2 EOF
- 您可以使用任何詞來關閉此處的文件。
- 分隔符必須開始一行。
- 或使用
<<-word
ssh -A -tt -l user 192.168.1.2 <<EOF ping server1 -c3 ssh server2 nslookup www.gogole.com ssh server3 ifconfig EOF
該
ssh
命令將在執行完給定命令後退出。對於多個命令,請使用
sh -c
:ssh -A -tt -l user 192.168.1.2 <<EOF ping server1 -c3 ssh server2 sh -c 'nslookup www.gogole.com; echo done' ssh server3 sh -c 'ifconfig; df -k' EOF
server2
如果您在和上有很多基本的事情要做,請server3
在這些伺服器上創建腳本並執行它們。