ssh 对多个节点使用 bash 脚本

ssh using bash script for several nodes

我似乎无法让这个脚本运行。我正在尝试查询文件中节点列表中 cpu 的数量。

readarray fnames < nodes.txt

for fn in "${fnames[@]}"
do
  com="ssh $fn `cat /proc/cpuinfo | grep processor | wc -l`"
  com=${com: -2}
  echo $fn                        $com
done

它应该打印主机名而不是 cpu 的数量。相反,它每次都打印主机名和 8。我怀疑 8 是因为

bash: 8: command not found

正在显示。

改成这样:

readarray fnames < nodes.txt

for fn in "${fnames[@]}"
do
  echo "getinfo:$fn"
  com="ssh $fn cat /proc/cpuinfo | grep processor | wc -l"
  com1=$($com) # or com1=`$com`
  echo "$fn                        $com1"
done