簡體   English   中英

如何在bash的ssh Expect腳本中自動執行ctrl + d操作?

[英]How to automate ctrl+d action in the ssh expect script in bash?

我有一個用例,在通過ssh連接到主機后需要執行命令。 命令執行后,我需要執行Ctrl-D和Ctrl-M,以便可以發出其他命令。

我嘗試使用EOF,但它完全關閉了會話。

expect << EOF
spawn ssh -o StrictHostKeyChecking=no LocalCOMUser@$nodeIp -p $ssh_port

expect {
         "password:" {}
          timeout { send_user "Timed out in ssh connection" ;exit 1}
}

send "p@ssword\r"
expect {
         ">" {}
          timeout { send_user "Timed out in ssh connection" ;exit 1}
}

set timeout 120
send "mml\r"
expect {
         "<" {}
          timeout { send_user "Timed out in ssh connection" ;exit 1}
}
send "$command1\r"
expect {
         "<" {}
}
send "exit;\r"
expect {
         ">" {}
          timeout { send_user "Timed out in ssh connection" ;exit 1}
}
send "exit\r"

EOF

需要一個執行Ctrl-d的命令。

您可以通過發送^ D / 字符來模擬按Ctrl-D:

send "\x04"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM