$を得る方法? SSH経由でコマンドを実行する

$を得る方法? SSH経由でコマンドを実行する

SSHを使用してリモートノードでコマンドを実行するスクリプトがあります。リモートノードはデバイスなので変更できず、お勧めできません。これで、次のスクリプトがあります。

  ssh REMOTE-NODE -l login "ls" > output 2>&1

  status=$?

これは$statussshコマンドの状態を持ちます。$?リモートコマンド(この場合はlsですが呼び出されたコマンドの場合)の状態はどのようにわかりますか?状態を返すことができるリモートノードに中間スクリプトを作成することはできません。

ベストアンサー1

sshいつものように商品を返品しませんか?

終了状態
ssh はリモートコマンドの終了状態で終了するか、エラーが発生した場合は 255 で終了します。

$ ssh user@localhost 'exit 123' ; echo $?
user@localhost's password: 
123

ただし、アノテーションで@thrigが暗示したように、sshクライアントがシグナルのためにシャットダウンした場合、$?リモートコマンドのシャットダウンコードではない場合でも、255の代わりに一般的な128+シグナル番号が表示されることがあります。代わりに、クイックテストでは、信号が原因でリモートコマンドが終了すると、ssh255が返されるように見えます。

おすすめ記事