在Shell编程中,"-eq"和"="这两个符号看似相似,但它们在使用上有着本质的区别。让我们通过实例来揭示它们的差异。首先,"-eq"是专门用于对整数进行比较的运算符。例如,当变量"a"的值为3时,语句"a=3"如果被检测到等于3,将会执行后续的命令,如输出"ok1"。这是通过"[ $a -eq 3 ]"这样的...
=和 == 用于字符串比较 -eq 用于数值比较 注意== 不是 POSIX 兼容的,在 sh(Bourne Shell) 或其兼容的 POSIX shell 中,== 用于字符串比较的操作符不是正式支持的。POSIX 规范和原始的 Bourne Shell 使用单个等号 = 作为字符串比较的操作符。在 Bourne Again Shell(bash) 、ksh 中,则两者都可以使用。
-eq:等于 -ne:不等于 -le:小于等于 -ge:大于等于 -lt:小于 -gt:大于
表达式 含义 表达式 含义 -eq 等于(equal) -ne 不等于(not equal) -lt 小于(less than) -le 小于等于(less equal) -gt 大于(greater than) -ge 大于等于(greater equal) 文件权限判断 -r 有读的权限(read) -w 有写的权限(write) -x 有执行的权限(execute) 文件类型判断 -e 文件存在(existence) -f...
shell 等于的几种形式的相同与不同点(-eq,=,==) ... 1 shell 变量 shell 是脚本语言,不同于C/C++、java、python(有int、float、double等不同的数据类型)等,shell基本都是基于字符串的形式存储的(只有在关系运算符的时候,我们会感知到一种数据类型,就是数字,那这里我们暂且理解为shell有字符串和数字两种数...
在Linux shell编程中,经常会用到判断字符串是否相等,可用于判断字符串是否相等的操作符有‘-eq’(相等), ‘-ne’(不等于), ‘-lt’(小于), ‘-le’(小于或等于), ‘-gt’(大于)或‘-ge’(大于或等于),以及=,==,!=,<,>。 在bash指南中,字母操作符和符号操作符的两端的参数英语表达式不相同,符号操...
运维中经常编写脚本时,如果遇到使用变量间歇取值并和整数进行比较时,大多数人第一时间会想到使用"-eq"进行比较,但事实中如果因特殊原因导致变量取值为空(null)时,bash shell会把null转换为0进行"-eq"比较,如果遇到此种困惑,可以把整数比较方法改为使用字符串比较(==),这样就可以很好的解决整数比较带来的这种bug。
shell中 -eq -ne -gt -lt -ge -le 等是用作integer比较的 上述 会将 false 和 true 转换为 integer 0 后比较,当时是等价的 b为字符串,被动态转换为 0 与 2相加,故运算后为 2 所有要将其作为字符串进行比较必须使用 == 或 = ,当然 integer的比较也是可以用 == 或 = ...
test命令用于检查某个条件是否成立,它可以进行数值、字符和文件3个方面的测试,其测试符和相应的功能分别如下。 (1)数值测试: -eq 等于则为真。 -ne 不等于则为真。 -gt 大于则为真。 -ge 大于等于则为真。 -lt 小于则为真。 -le 小于等于则为真。
elif [ $1 -eq "2" ];then echo "input two" fi #sh if_test.sh 1 input one 2 case 语句 1)基本语法 case $变量名 in "值1") 如果变量的值等于值1,则执行程序1 ;; "值2") 如果变量的值等于值2,则执行程序2 ;; …省略其他分支… ...