pdshとコマンド終了コード

pdshとコマンド終了コード

pdshコマンドが複数のノードで正常に実行され、コマンドが任意のノードで失敗した場合は、終了コード(からpdsh)がゼロではないと主張するために使用したいと思います。

次の例を考えてみましょう。

$ pdsh -w host1,host2 "exit 0"; echo $?
host1: host1
host2: host2
0
$ pdsh -w host1,host2 "exit 1"; echo $?
host1: host1: ssh exited with exit code 1
host2: host2: ssh exited with exit code 1
0
$ pdsh -w host1,host2,host3 "exit 1"; echo $?
host1: host1: ssh exited with exit code 1
host2: host2: ssh exited with exit code 1
host3: host3: ssh exited with exit code 255
0

2番目の例では、ゼロ以外の終了コードを返す必要があります。

3番目の例ではhost3存在せず、終了コードはまだゼロです。

私は何を逃したことがありませんか?

ありがとう

答え1

pdshそのオプションと一緒に使用されます-S

マニュアルから:

-S
リモートコマンドで返された最大値を返します。

これpdshにより、ユーティリティ自体の終了状態が、リモートホストで実行されるすべてのコマンドの最大終了状態に設定されます。

関連情報