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