파일의 각 줄을 변수로 지정하고 이러한 변수를 사용하여 명령을 실행합니다.

파일의 각 줄을 변수로 지정하고 이러한 변수를 사용하여 명령을 실행합니다.

다음 작업을 스크립팅하는 데 어떤 방법을 사용할 수 있습니까?

호스트.txt 파일에는 100개가 넘는 줄(호스트 이름)이 있습니다. 행을 변수로 추출하고 이러한 변수를 사용하여 명령을 실행해야 합니다.

파일:hosts.txt:
호스트 이름1
호스트 이름2
...
호스트 이름100

명령에 <$hostname1> 포함
명령에 <$hostname2> 포함
명령에 <$hostname...> 포함
명령에 <$hostname100> 포함

답변1

루프를 사용할 수 있습니다.

while read host ; do 
    command param1 "$host" param2
done < hosts.txt

또는 xargs:

xargs -I% command param1 % param2 < hosts.txt

답변2

내가 올바르게 이해했다면 다음과 같은 작업이 수행될 것입니다.

while read i
do
command with $i
done < hosts.txt

그러면 모든 호스트 이름을 통해 루프가 생성되고 hosts.txt명령이 지속적으로 실행됩니다.

관련 정보