2016-10-16 1 views
-1

명령에서 데이터를 읽는 다음 쉘 스크립트가 있습니다. 명령 입력 오류 읽기 스크립트

while read _ host ip time _; do 
    echo $host 
done < <(traceroute yahoo.fr) 

위의 소스 코드를 반환 스크립트 오류

./traceroute_launch: line 33: syntax error near unexpected token `<' 
./traceroute_launch: line 33: `done < <(traceroute yahoo.fr)' 

나는 쉘 위 소스 코드를 복사하고 그것을 작동합니다. 하지만 스크립트 파일에서 실행할 때 위의 오류가 발생했습니다.

제가

답변

0

있어서 교체 (<())을 누락을 m으로 정의되지 POSIX bash -ism이다.

(아마도 dash?)이 아닌 bash을 사용하여 스크립트 내에서 실행하려고하면 구문 오류가 발생하지 않습니다.

스크립트의 새 집합을 #!/usr/bin/env bash으로 설정하면 bash으로 해석 된 스크립트를 가져와 프로세스 대체가 작동하도록 할 수 있습니다.