我有一个文件,hostname_list
其中列出了我使用grep
和生成的 1 个或多个服务器的主机名awk
。现在我需要salt
针对主机名执行命令。作为测试,我正在尝试运行test.ping
ping 列表中的每个服务器。
我尝试过将其作为 for 循环进行,但无法使其工作。
我尝试过多种变体:
for i in hostname_list
do
salt $i test.ping
done
答案1
假设这hostname_list
是一个每行包含 1 个主机名的文本文件,您可以使用以下命令:
while read -r line
do
[[ -n "$line" ]] && salt $line test.ping
done < hostname_list
该[[ -n "$line" ]]
语句在执行以下命令之前检查该行是否为空。