내가 사용하고 구축하는 하나 이상의 서버의 호스트 이름을 hostname_list
나열하는 파일이 있습니다 . 이제 호스트 이름에 대해 명령을 실행 해야 합니다 . 테스트로서 목록에 있는 각 서버에 대해 ping을 실행하려고 합니다 .grep
awk
salt
test.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" ]]
문은 다음 명령을 실행하기 전에 해당 줄이 비어 있는지 확인합니다.