아래 스크립트는 작동하지 않습니다. 어떤 도움이라도 대단히 감사하겠습니다.
for host in `cat db_hosts_imsi.txt` ; do "ping6 $host"; done
-bash: ping6 2606:ae00:3001:8311:172:16:244:1d: command not found
-bash: ping6 2606:ae00:3001:8311:172:16:244:45: command not found
-bash: ping6 2606:ae00:3001:8311:172:16:244:54: command not found
답변1
이와 같이:
while IFS= read -r host; do
ping6 "$host"
done < db_hosts_imsi.txt
주요 문제는 명령과 매개변수를 동시에 참조하는 것입니다.
파일을 한 줄씩 읽으려면 항상 while
루프가 아닌 for
루프를 사용하십시오.
http://mywiki.wooledge.org/BashFAQ/001
또한,
'명령'
구문은 2020년부터 더 이상 사용되지 않으며 다음 형식으로 대체되었습니다.
$(command)
최신 구문을 사용하는 것이 좋습니다. $() 내부의 백슬래시 처리는 놀라운 일이 아니며 $()는 중첩하기 더 쉽습니다. 바라보다http://mywiki.wooledge.org/BashFAQ/082