我想使用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第二个示例应该返回一个非零退出代码。
在第三个示例中,host3不存在,但退出代码仍然为零。
我是不是遗漏了什么?
谢谢
发布于 2021-10-12 15:48:56
使用pdsh及其-S选项。
从手册中:
-S返回最大的远程命令返回值。
这将将pdsh实用程序自己的退出状态设置为远程主机上执行的任何命令的最大退出状态。
https://unix.stackexchange.com/questions/672908
复制相似问题