Exit-Status

pdsh 和命令退出程式碼

  • October 12, 2021

我想pdsh用來斷言命令在多個節點上成功執行,如果命令在任何節點上失敗,則退出程式碼(from 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

第二個範例應返回非零退出程式碼。

在第三個範例host3中不存在並且退出程式碼仍然為零。

我錯過了什麼嗎?

謝謝

pdsh與它的-S選項一起使用。

從手冊:

-S

返回最大的遠端命令返回值。

這會將pdsh實用程序自己的退出狀態設置為在遠端主機上執行的任何命令的最大退出狀態。

引用自:https://unix.stackexchange.com/questions/672908