이 스크립트( 라고 함)를 어떻게 실행합니까 count.sh
?
awk 'BEGIN{ x=0 ; while (x < 5) { x+=1 ; print x ; } }'
실행하려고 하는데 sh count.sh
오류가 발생합니다.
답변1
내 스크립트에 대해 내가 수행한 작업은 다음과 같습니다.
#!/usr/bin/awk -f
BEGIN{ x=0 ; while (x < 5) { x+=1 ; print x ; } }
이 접근 방식의 유일한 단점은 Awk에 대한 경로가 하드코딩되어 있다는 것입니다. 이는 스크립트가 NFS를 통해 내보내지고 NFS 클라이언트가 다른 디렉터리(예: .)에 Awk를 설치한 경우 /bin/awk
중단 /usr/bin/awk
됩니다 .
실행 권한을 설정하면 스크립트를 실행하기 위해 셸을 사용하지 않고도 스크립트를 직접 호출할 수 있습니다(관례에 따라 스크립트에 포함되지 않으므로 .sh 확장자를 생략할 수도 있습니다).
$ chmod +x count
$ ./count
1
2
3
4
5
답변2
귀하의 스크립트를 실행했는데 오류가 발생하지 않았습니다(예상했던 것과는 달리 :)).
$ cat test.awk
awk 'BEGIN{ x=0 ; while (x < 5) { x+=1 ; print x ; } }'
$ bash test.awk
1
2
3
4
5
어떤 오류가 발생했나요? 나는 awk가 처리할 입력 파일을 요청할 것으로 예상했습니다. :)