반응형
(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 |