使用if语句和条件判断来检查一行是否为空。可以使用内置的变量$1来获取输入的行内容,然后判断该变量是否为空。示例代码如下: 代码语言:bash 复制 if[-z"$1"];thenecho"该行为空"elseecho"该行不为空"fi 使用read命令读取输入的行内容,并判断是否为空。示例代码如下: ...
执行sh test.sh时,var=$1是一个没有被声明赋值的变量,其值为空,我们可以使用上述语法,判断变量 var 的值是否为空,变量值为空,返回真,同理,上述示例中,[ ] 与 [[ ]] 没有区别。 那么在判断变量是否为空时,[ ] 与 [[ ]] 的区别在哪里呢? 错误示例: test -n $var 我们知道,在Linux中,我们可以...
test"$1"="$name"或 ["$1"="$name"] test 命令的主要用途是检查字符串、比较整数和检查文件的属性。本文将通过简单的示例介绍 test 命令的常见用法。 检查字符串 判断字符串是否为空 test 检查字符串时,非空的字符串返回 true,空字符串或者没有参数都返回 false。 iftest"$abc";thenecho"It's not an ...
-n $1认为$1不为空。 而-z $1又认为$1为空。 只有-z "$1"正确地判断出第一个参数值为空。 原因在于,没有提供第一个参数时,这里的$1的值是空,相当于什么都没有。 test -n $1语句经过 bash 处理后,得到的是test -n。 [ -z $1 ]语句经过 bash 处理后,得到的是[ -z ],相当于test -z。
上面的2项,可以对字符串是否为空字符串判断,如果字符串为空(不是空字符串),无论是-n还是-z都是true STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal 示例: #! /bin/bash str1="str1" test -n $str1;echo $?
-z实际上检查的是长度是否为 0,如果变量没有设置或者它是个空串(empty 就是"")则长度为 0,因此条件判断的结果为true。 下面是一个完整的例子: #!/bin/bash string1= string2="" if [ -z "$string1" ] then echo "Null Strings" fi if [ -z "$string2" ] ...
Bash技巧:对比 test判断字符串是否为空的用法,#!/bin/bashfunctionempty_string(){iftest-n$1;thenecho'(1)-n$1:'"Noquote:notempty."fiif[-z$1];thenecho'(2)-z$1:'"Noquote
str1 当字符串 str1 为非空时为真 数值的判断 int1 -eq int2 两数相等为真 int1 -ne int2 两数不等为真 int1 -gt int2 int1 大于 int2 为真 int1 -ge int2 int1 大于等于 int2 为真 int1 -lt int2 int1 小于 int2 为真
-z A: 判断A是否为空,空为真,不空为假 -n A: 判断A是否为不空,不空为真,空为假 3、条件测试的方法: a) test 测试表达式 b) [ 测试表达式 ] : []与于测试表达式之间必须要有一个半角空格,否则语法错误 c) [[ 测试表达式 ]] : 等同于[ 测试表达式 ], 但有些特殊场合需要用到[[ 测试表达式 ]]...
有示例,对于了解 bash 逻辑判断非常有帮助; In bash, how can I check if a string begins with some value? 检查$HOST 是否以 node 开头: case $HOST in node*) your code here esac Variable Assignment(=) string comparison(= or ==) integer and string comparison; ...