gpt4 book ai didi

bash - Bash 中的运算符 "="和 "=="有什么区别?

转载 作者:行者123 更新时间:2023-11-29 08:40:11 26 4
gpt4 key购买 nike

看起来这两个运算符几乎相同 - 有区别吗?什么时候应该使用 = 什么时候使用 ==

最佳答案

您必须在 (( ... )) 中的数字比较中使用 ==:

$ 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

关于bash - Bash 中的运算符 "="和 "=="有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2600281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com