是使用布尔运算符。布尔运算符有两个值:true和false。在bash中,可以使用以下方式声明布尔值的简写: 使用数字表示布尔值:0表示false,非零表示true。例如,0代表false,1代表true。 使用字符串表示布尔值:可以使用字符串"true"和"false"表示布尔值。例如,"true"表示true,"false"表示false。 使用布尔运算符表示布尔值:...
echo $(( 0&&5 )) #有一个为零(false) 结果是0 echo $(( b && 5 )) # 其中b不是数字,为false 结果是0 status code exit status(sometimes referred to as areturn statusorexit code). true,false与0, 1的对应关系,跟python的if等情况 颠倒。 跟cpp的int main的return 0有点像。cpp:return...
在Bash 脚本中我们一般会使用 test 命令来进行条件检查。test 命令的返回值为 0 或 1。0 表示 true, 1 表示 false。简单起见,我们可以直接认为 test 的结果为 true 或 false。 还可以使用中括号代替 test,需要注意的是括号和表达式之间一定要留有空格,所以下面的两种写法是等同的: test"$1"="$name"或 ["...
true=0,false=1。 命令执行的结果也会有这么一个返回值(也可以叫退出状态码),一般返回值0表示命令执行成功,返回值非0(多数情况下是1)则表示失败。 PS:这里也需要注意,大多数编程语言使用1来表示成功/true等。还有大家也要注意和命令执行后的标准输出或者标准错误输出区别开。一个表示命令执行成功与否的结果,另一...
1: 表达式结果为假(false) 2: 程序出错(error) 我们来看下返回值 我们可以发现,当表达式为true的时候,返回值为0,当表达式为false的时候,返回值为1,当表达式出现错误的时候,返回值为2。 test表达式可以简写为[ ](小括号的形式)形式,关于这点,是shell比较弄混淆的一个点 ...
0 $testtestfile -ot retestfile;echo$? 1 这里用test命令进行测试,这个命令会返回条件表达式的返回值,然后用echo $?打印上一个命令返回值,就能看到返回结果。 可以看到,test -a testfile命令返回 0,也就是 true,testfile文件存在。 test -d testfile命令返回 false,testfile文件不是一个目录。
true ] 也好, [ 0 ] [ false ] 也好,因为都不是 ‘’ (empty string) ,所以都是 true。 [...
bash 是以 0 作为 true,以 1 作为 false。上面test命令的说明也是如此。 而大部分编程语言是以 1 作为 true,0 作为 false。要注意区分,避免搞错判断条件的执行关系。 上面help test的说明提到,test 命令的参数个数会影响它的行为。具体要参考 man bash 的说明。
test命令的使用格式是:test expression。expression就是我们的逻辑表达式,如果值为true,执行这条命令的返回值为0,false则非0。示例: #! /bin/bash #1 == 1 test 1 -eq 1 echo "1 == 1 : $?" #1 == 2 test 1 -eq 2 echo "1 == 2 : $?" ...
-o操作符允许测试利用set -o选项设置的各种 shell 选项,如果设置了该选项,则返回 True (0),否则返回 False (1),如清单 3 所示。 清单3. 测试 shell 选项 [ian@pinguino ~]$ set +o nounset [ian@pinguino ~]$ [ -o nounset ];echo $?