2012-07-12 18 views
2

쉘 스크립트에서 awk로 변수를 내보내고 있습니다. 이 프로그램은 내 예상 출력 내가 awk 스크립트 내부 요소와 이름을 연결 한 후 외부에서 연결된 결과를 표시 때문에 내 출력 될 필요가있다 무엇쉘 스크립트에서 awk로 변수를 내보내는 중

export name="hi" 
eval $(awk '{element="bye";name=element"name";print name}') 
echo $name 

이하

이름 = byehi

하지만 같은 것을 얻지는 않습니다. 이 일에 대해 제발 도와주세요. 고맙습니다.

답변

3

아무 것도 환경으로 내보낼 필요없이 -v 옵션을 사용하여 변수를 할당 할 수 있습니다. 예 :

name='hi' 
name=$(
    awk -v name="$name" 'BEGIN {print "bye" name}' 
) 
echo "$name" 

예상대로 byehi을 반환합니다.

관련 문제