반응형
(bash) 스크립트 사이에 공백이있는 인수 전달
다음 bash 두 개의 스크립트가 있습니다.
금연 건강 증진 협회:
#!/bin/bash
./b.sh 'My Argument'
b.sh :
#!/bin/bash
someApp $*
someApp 바이너리는 $*1 대신 2 개의 인수 ( 'My'및 'Argument')를받습니다.
몇 가지를 테스트했습니다.
b.sh예상대로 작동을 통해서만 someApp 실행b.sh예상대로 작동 하는 인수 반복 + 에코$@대신 사용$*하면 차이가 없습니다.
$*, 인용되지 않음, 두 단어로 확장됩니다. someApp단일 인수 를 받도록 인용해야합니다 .
someApp "$*"
$@대신 사용할 수 있으므로 someApp다음 b.sh과 같이 호출하면 두 개의 인수가 수신 됩니다.
b.sh 'My first' 'My second'
로 someApp "$*", someApp하나의 인자를받을 것이다 My first My second. 으로는 someApp "$@", someApp두 개의 인수를받을 것 My first하고 My second.
참고 URL : https://stackoverflow.com/questions/17094086/passing-arguments-with-spaces-between-bash-script
반응형
'developer tip' 카테고리의 다른 글
| Go 프로그램에 전달 된 명령 줄 인수에 액세스하는 방법은 무엇입니까? (0) | 2020.10.10 |
|---|---|
| Flask가 디버그 모드에서 두 번 초기화되는 것을 중지하는 방법은 무엇입니까? (0) | 2020.10.10 |
| 클래스의 함수 앞에있는 "get"키워드는 무엇입니까? (0) | 2020.10.10 |
| 명령 줄을 애니메이션하는 방법은 무엇입니까? (0) | 2020.10.10 |
| Visual Studio 프로젝트의 모든 파일을 UTF-8로 저장 (0) | 2020.10.10 |