2012-03-14 5 views
12

bash 스크립트에서 awk 명령을 사용하여 bash 변수에 값을 반환 할 수 있습니까? 예를 들어, awk 스크립트가 일부 산술 연산을 수행하는 경우 변수에 응답을 저장할 수 있습니까? bash 스크립트에서 액세스 할 수 있습니다. 가능한 경우 다중 리턴 변수를 구별하는 방법. 감사.AWK : 쉘 스크립트로의 반환 값

답변

15

아니요. exit을 사용하면 오류 코드를 반환 할 수 있지만 일반적으로 하위 프로세스에서 셸 환경을 수정할 수 없습니다.

은 또한 물론, AWK에서 원하는 내용을 인쇄하고 read를 사용하여 bash는 변수에 넣어 수 있습니다

read a b c <<< $(echo "foo" | awk '{ print $1; print $1; print $1 }') 

이제 $a, $b$c 모두 '갑'이다. 읽기 작업을하려면 <<<$() 구문을 사용해야합니다. 모든 종류의 파이프 라인을 사용하면 서브 프로세스도 생성되고 환경 변수 read은 파이프 라인 실행이 완료되면 변수가 손실되도록 만듭니다.

+0

어떻게? 예를 들어 주시겠습니까? 감사합니다 –

+0

@ ShuvoShams : 하나 추가, 그것이 도움이되기를 바랍니다. –

+0

@EduardoIvanec - 부모 프로세스의 환경 (변수)을 수정하는 것은 매우 어렵 기 때문에 "거의 불가능"으로 선언 될 수 있습니다. –