在 shell 脚本中运行 for 循环

在 shell 脚本中运行 for 循环

我想知道实现此目标的最佳方法是什么:

我有一个包含以下数据的文件:

server1   
chl(abc.123) chltype(RCVR)
chl(xyz.123) chltype(RCVR)
server2
chl(abc.000) chltype(RCVR)
chl(abc.999) chltype(RCVR)
chl(xyz.456) chltype(RCVR)

现在我想运行一个脚本来执行此操作。

ssh 到服务器 1 并针对服务器 1 下列出的命令运行以下命令,然后 ssh 到服务器 2 并针对服务器 2 下列出的命令运行以下命令

例如,在服务器 1 上

echo chl(abc.123) chltype(RCVR)

答案1

你可以这样做:

while IFS= read -r line; do
    if [[ ${line} =~ ^server\d+$ ]] ; then
        server=${line}
        continue
    fi
    ssh ${server} "echo ${line}"
done

假设您的文件格式没有改变。

相关内容