簡體   English   中英

使用偽終端通過 ssh 執行命令:如果找不到命令,請不要關閉連接

[英]Executing a command thru ssh using pseudo terminal: do not close connection if command is not found

我想編寫一個小腳本來自動化 python 中的一些命令,用於 unix 和 linux,通過 pexpect。

前任:

ssh -t sk@192.168.225.22 "uname -r && some_cmd_that_exist_or_not && exec /bin/sh"

問題是我從一開始就不知道這台機器的操作系統是什么類型的,在某些情況下命令不可用。

在這種情況下,連接被關閉並返回“找不到命令”。 即使找不到命令,我也想繼續執行。

之后,我使用 pyexpect 檢索 output。 我的問題是,如果找不到逗號,我找不到保持連接打開的選項。

只需將&&替換為;

ssh -t sk@192.168.225.22 'uname -r; some_cmd_that_may_not_exist; exec /bin/sh'

&&是一個短路運算符,因此一旦任何命令失敗,它將停止執行命令。 如果您想全部運行它們,請不要使用它。

暫無
暫無

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

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