bash 스크립트의 인수를 실행 파일로 전달하려고 시도 중 하나에 공백이 있습니다. 나는이 문제를 해결하는 방법을 찾고 있었지만 올바른 방법을 찾지 못했습니다. 스크립트는 first
이고 스크립트는 second
입니다.bash의 따옴표가 올바르게 유지됩니다.
첫 번째 스크립트 :
#!/bin/bash
# first script
ARGS="[email protected]"
./second $ARGS
초 스크립트 : 지금은 이런 식으로 실행하면
#!/bin/bash
# second script
echo "got $# arguments"
, 나는 다음과 같은 결과를 얻을 :
$ ./first abc def
got 2 args
$ ./first "abc def"
got 2 args
$ ./first 'abc def'
got 2 args
가 어떻게 그것을 만들 수 있습니다 두 번째 스크립트는 하나의 인수 만받습니다.
가 좋아,이 제한을 주어, 나는 구문 분석 할 수있는 방법/첫 번째 스크립트의 인수를 확인 ... 내부 필드 구분을 의미? 일부 값을 확인하기 위해 shift를 사용하고 있으며, 두 번째 스크립트를 실행하는 경우에만이 값을 확인합니다. –
@ André 그런 다음 배열을 사용하여 값을 저장할 수 있습니다. 배열의 값은 호출 후에도 그대로 유지됩니다 – user000001
충분히 명확하지 않았습니다. 다른 매개 변수도 있습니다.하지만이 방법으로 모두 하나의 매개 변수가됩니다. 내가 실제로 가지고있는 것은 ./first "foo bar"뭔가 "something else"와 같습니다. –