以下是我的脚本的一部分,但我正在努力寻找解决方案。我正在使用 pssh 命令和 awk 从用户输入 OS 命令中过滤特定列。使用 pssh 命令的 awk 仅在对任何用户执行 sudo 时才会出现问题。
下面提供我正确的输入。
pssh -h /tmp/hosts -i 'echo $(echo ), $(uptime|awk '\''{print $3}'\'')'
[1] 13:15:40 [SUCCESS] Host1
, 75
[2] 13:15:40 [SUCCESS] Host2
, 59
[3] 13:15:40 [SUCCESS] Host3
, 147
但是当 sudo 到 quser 时,下面会为我提供不正确的输入(给出 uname -a 的输出)。
sudo -i -u quser pssh -h /tmp/hosts -i 'echo $(echo ), $(uptime|awk '\''{print $3}'\'')'
[1] 13:16:11 [SUCCESS] host1
, 13:16pm up 147 days 4:48, 1 user, load average: 0.02, 0.05, 0.01
[2] 13:16:11 [SUCCESS] host2
, 13:16pm up 59 days 3:04, 0 users, load average: 0.52, 0.29, 0.22
[3] 13:16:11 [SUCCESS] host3
, 13:16pm up 75 days 3:38, 0 users, load average: 0.03, 0.02, 0.00