首先要明白一个概念:bash中所有的变量都是字符串。对变量进行数值计算时,只不过是把字符串转换成数字,然后计算,计算后再把结果数字转换为字符串。 再说"==“和”-eq"的区别 "=="是判断字符串是否相等。 "-eq"是判断字符串对应的数字值是否相等。 举个栗子。 创建eq.sh脚本 >vi eq.sh 内容如下 #!/bin/...
if [ $condition -gt 0 ] #gt表示greater than,也就是大于,同样有-lt(小于),-eq(等于) then : # 什么都不做,退出分支 else echo "$condition" fi 变量扩展/子串替换 在与> 重定向操作符结合使用时,将会把一个文件清空,但是并不会修改这个文件的权限。如果之前这个文件并不存在,那么就创建这个文件。 :...
/bin/bashnum1=10num2=20if[$num1-eq$num2];thenecho"两个数相等"elif[$num1-lt$num2];thenecho"第一个数小于第二个数"elseecho"第一个数大于第二个数"fi 在上面的示例中,我们使用了-eq、-lt和-gt比较运算符来比较两个整数的大小关系,并根据结果输出相应的信息。 腾讯云提供了一系列的云计算产品,...
echo"Please enter first number"read first echo"Please enter second number"read secondif[$first-eq0]&&[$second-eq0]then echo"Num1 and Num2 are zero"elif[$first-eq $second]then echo"Both Values are equal"elif[$first-gt $second]then echo"$first is greater than $second"elseecho"$first ...
bash中常用的条件测试有三种: 1、整数测试: -eq 等于 -lt 小于 -ne 不等于 -gt 大于 -le 小于等于 -ge 大于等于 integer:整数 INTEGER1=63 INTEGER2=77 [INTEGER1−eqINTEGER2 ] [[INTEGER1−eqINTEGER2 ]] testINTEGER1−eqINTEGER2
-eq 和= 都可以用来条件测试进行判断两个操作对象是否相同,但是有如下区别:-eq 适用于整数数字,不能进行字符串的条件测试= 既适用于数字,又适用于字符串。 我做了下测试: bash$ [ 1 -eq 1 ] && echo "ok" ok $ [ 1 = 1 ] && echo "ok" ok $ [ "a" -eq "a" ] && echo "ok" sh: [...
bash中常用的条件测试有三种: 1、整数测试: -eq 等于 -lt 小于 -ne 不等于 -gt 大于 -le 小于等于 -ge 大于等于 integer:整数 INTEGER1=63 INTEGER2=77 [ $INTEGER1 -eq $INTEGER2 ] [[ $INTEGER1 -eq $INTEGER2 ]] test $INTEGER1 -eq $INTEGER2 ...
$ test 10 -eq 20 && echo "true" || echo "false" 上面的命令中: test - test 命令 10 - 第一个变量 -eq - 比较运算符 20 - 第二个变量 如果给定的表达式有效,则执行第一个命令,否则执行第二个命令。在上述测试命令中,可以使用方括号 [] 来代替 test 命令。不过有一点需要记住,[ 标记和要比较...
EN我运行了一些Bash条件脚本,并发现如果我运行这个脚本:CREATE TABLE IF NOT EXISTS `t_myisam` ( ...
= STRING2 the strings are not equal INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 有用2 回复 TechliveZheng 2.1k11315 发布于 2012-12-18 尽量使用 extended test 吧,即 [[ ]],里面可以使用比较习惯的 == 代替=,并且不用担心 word spliting 和 filename expansion. 有用 回复 ...