0

我正在尝试通过 ssh 在多个服务器上执行命令,这就是我想要做的:

for i in {1..3}; do `ssh nginx_$i ps aux | grep logstash`; done

但它告诉我安装一些软件包:

The program 'root' is currently not installed. You can install it by typing:
sudo apt-get install root-system-bin

我不相信我需要安装它,因为如果我这样做

ssh nginx_1 ps aux | grep logstash

它有效,并给了我正确的结果。

PS 假设我已经配置.ssh/config文件连接到nginx_1,nginx_2nginx_3.

4

2 回答 2

4
for i in {1..3}; do `ssh nginx_$i ps aux | grep logstash`; done
                    ^                                   ^

去掉反引号。如果包含它们,shell 将尝试执行命令的输出。

于 2013-09-02T18:00:02.833 回答
2

您应该使用pssh而不是 for 循环。

于 2013-09-02T18:00:22.223 回答