Bash에서 '['뒤와 ']'앞에 공백이 있어야하는 이유는 무엇입니까?
if
성명 을 사용하는 Bash 스크립트를 작성하려고했습니다 .
if [$CHOICE -eq 1];
스크립트는 아래와 같이 [
전후에 공백을 줄 때까지 오류를 제공했습니다 ]
.
if [ $CHOICE -eq 1 ];
여기 내 질문은 왜 Bash에서 대괄호 주위의 공간이 그렇게 중요합니까?
그건 당신이 파악되면 [
A는 명령을 , 훨씬 더 선명하게!
[
" test
" 철자를 쓰는 또 다른 방법 입니다.
help [
그들이 그러나 동시에 정확히 같은, test
보다 상세한 도움말 페이지를 끈다. 검사
help test
...자세한 내용은.
또한 의도적으로 사용 help test
하고 있으며 man test
. 의 때문 test
와는 [
쉘 내장 명령 요즘입니다. 해당 기능 세트 는 페이지에 설명 된 명령 인 coreutils /bin/test
와 다를 수 있습니다 ./bin/[
man
에서 또 다른 질문 :
약간의 역사 : 이것은 '['가 역사적으로 쉘 내장이 아니라 표현을 인수로 받고 결과를 반환하는 별도의 실행 파일이기 때문입니다. '['를 공백으로 묶지 않으면 쉘은 $ PATH에서 다른 파일 이름을 검색하고 찾을 수 없습니다. – Andrew Medico 2009 년 6 월 24 일 1:13
[
은 명령이며 $CHOICE
인수 여야하지만 [$CHOICE
( [
와 사이에 공백없이 $CHOICE
)라는 명령을 실행하려고합니다 [$CHOICE
. 명령 구문은 다음과 같습니다.
command arguments separated with space
[
A는 test
명령. 따라서 공간이 필요합니다.
참고 URL : https://stackoverflow.com/questions/9581064/why-should-there-be-a-space-after-and-before-in-bash
'developer tip' 카테고리의 다른 글
추상 C # 클래스에서 추상 생성자를 만들 수없는 이유는 무엇입니까? (0) | 2020.12.12 |
---|---|
잭슨 : 부동산이 없으면 어떻게 되나요? (0) | 2020.12.12 |
파이썬이 컴파일 된 옵션 목록을 얻는 방법은 무엇입니까? (0) | 2020.12.12 |
'+'(하나 이상의 발생)가 'sed'명령과 함께 작동하지 않습니다. (0) | 2020.12.12 |
Flask와 번들로 제공되는 서버는 프로덕션에서 사용하기에 안전한가요? (0) | 2020.12.12 |