반응형
Bash에서 연산자 "="와 "=="의 차이점은 무엇입니까?
이 두 연산자는 거의 동일한 것 같습니다. 차이점이 있습니까? 언제 사용해야 =
언제 ==
?
==
에서 숫자 비교에 사용해야합니다 (( ... ))
.
$ if (( 3 == 3 )); then echo "yes"; fi
yes
$ if (( 3 = 3 )); then echo "yes"; fi
bash: ((: 3 = 3 : attempted assignment to non-variable (error token is "= 3 ")
[[ ... ]]
또는 [ ... ]
또는 에서 문자열 비교에 사용할 수 있습니다 test
.
$ if [[ 3 == 3 ]]; then echo "yes"; fi
yes
$ if [[ 3 = 3 ]]; then echo "yes"; fi
yes
$ if [ 3 == 3 ]; then echo "yes"; fi
yes
$ if [ 3 = 3 ]; then echo "yes"; fi
yes
$ if test 3 == 3; then echo "yes"; fi
yes
$ if test 3 = 3; then echo "yes"; fi
yes
"문자열 비교?"라고 말합니까?
$ if [[ 10 < 2 ]]; then echo "yes"; fi # string comparison
yes
$ if (( 10 < 2 )); then echo "yes"; else echo "no"; fi # numeric comparison
no
$ if [[ 10 -lt 2 ]]; then echo "yes"; else echo "no"; fi # numeric comparison
no
POSIX와 관련하여 미묘한 차이가 있습니다. Bash 참조 에서 발췌 :
string1 == string2
문자열이 같으면 참. 엄격한 POSIX 준수=
대신 사용할 수 있습니다==
.
참고 URL : https://stackoverflow.com/questions/2600281/what-is-the-difference-between-operator-and-in-bash
반응형
'Program Tip' 카테고리의 다른 글
Python을 WebAssembly로 컴파일 (0) | 2020.12.04 |
---|---|
VBA 사전을 반복 하시겠습니까? (0) | 2020.12.04 |
URI 문자열이 유효한지 확인하는 방법 (0) | 2020.12.04 |
한 클래스가 두 클래스를 확장 할 수 있습니까? (0) | 2020.12.04 |
Twitter 부트 스트랩 탭 및 자바 스크립트 이벤트 (0) | 2020.12.04 |