2013-08-28 3 views
4

일부 매개 변수를 전달하는 쉘 스크립트가 있습니다. Test1.sh -a 1 -b 2 -c "One Two Three"한 쉘 스크립트의 모든 매개 변수를 다른 쉘 스크립트로 전달하십시오.

Inside Test1.sh 아래에서 다른 쉘 스크립트를 호출하고 있습니다. Test2.sh $*

나는 (따옴표 등으로) 같은 형식으로도 Test1을 전달 하였다 Test2를 모든 매개 변수를 전달하려는. 그러나 Test2로 전달되는 매개 변수는 나를 위해 작동하지 않습니다 Test2.sh -a 1 -b 2 -c One Two Three 있습니다. 거기 주위에 방법은 내가 Test1에 전달하는 것과 같은 방식으로 매개 변수를 전달할 수 있습니다.

감사 자비

답변

10

당신은 말할 필요 :

Test2.sh "[email protected]" 

Special Parameters를 참조하십시오

@

하나부터 시작하여 위치 매개 변수로 확장. 확장이 큰 따옴표 안에 있으면 각 매개 변수는 별도 단어로 확장됩니다. 즉, "[email protected]""$1" "$2" ...과 같습니다. 큰 따옴표로 된 확장이 한 단어 내에서 발생하면 첫 번째 매개 변수의 확장이 원래 단어의 시작 부분과 결합되고 마지막 매개 변수의 확장이 원래 단어의 마지막 부분 인 과 결합됩니다. 위치 매개 변수가없는 경우 "[email protected]"[email protected]이 확장되어 확장됩니다 (즉, 제거됩니다).

수동 말한다 :

하는 "$*"IFSc이 변수의 값의 첫번째 문자 "$1c$2c...", 동일하다.

관찰 결과를 설명합니다.

관련 문제