我正在尝试通过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
它有效,并给我正确的结果。
P.S。假设我已配置.ssh/config
个文件以连接到nginx_1
,nginx_2
和nginx_3
。
答案 0 :(得分:4)
for i in {1..3}; do `ssh nginx_$i ps aux | grep logstash`; done ^ ^
放弃反引号。如果包含它们,shell将尝试执行命令的输出。
答案 1 :(得分:2)
您应该使用pssh来代替for循环。