我有一个 shell 脚本,我在其中从不同主机执行 ls 命令,但我无法实现此目的。下面是我的感冒:
#!/bin/sh
nodes="hostname1 hostname2"
cmd="ls -ltrha"
for node in ${nodes}; do
ssh ${node} '`$cmd`'
done
这段代码的问题是它可以完美地 ssh hostname1,但它甚至不执行 ls 命令,甚至不执行 ssh hostname2。
知道我在这里做错了什么吗?
****新编辑**** 我也尝试了下面的一个类轮,但它只执行了 ls 而没有 ssh
ssh hostname1 'ls -ltrha'
最佳答案
#!/bin/sh
nodes="hostname1 hostname2"
cmd="ls -ltrha"
for node in $nodes; do
ssh "$node" "$cmd"
done
关于linux - 来自 Shell 脚本的 SSH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45399233/