判断的返回值:真、假。 当判断的条件是一个命令时,始终认为是返回为真;缺省表达式,返回为假。 例子:缺省表达式,默认为“假” [view@payqa2 ~]$ [ ] &&echo"true"[view@payqa2~]$ [ ! ] &&echo"true"true 1.测试内容 表达式的“测试属性”分类 1.1.字符串测试 1.2.数字比较 1.3.文件测试 1.4.逻辑...
||:逻辑或,表示“或者”,只要前后两个条件有一个成立,整个测试命令返回的值即为0(结果成立)。使用test命令测试时可以使用“-o”代替。 !:逻辑否,表示“不”,只有当条件不成立时,整个测试命令返回的值才为0(结果成立)。 注意,现在shell已经不再把"!"作为逻辑运算符,所以这种格式的逻辑判断不能用了 [ ! 条...
Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0(真true)时表示成功,返回值为非0值(假false)时表示失败或异常。 一、条件语句 (1)test命令 格式一:test 条件表达式 格式二:[ 条件表达式 ] 1. 2. (2)文件测试 格式:[ 操作符 文件或目录 ] 1. 常用的操作符: -e:测试目录或文...
这个语句的意思是如果$name为空,那么X=X成立折执行下面的结果; if [ "X$name" != "x" ] 写脚本的时候很多时候需要用到回传命令,$?如果上一个命令执行成功,回传值为0,否则为1~255之间的任何一个 • 0为真 • 非0为假 条件测试的写法: 1、执行一个命令的结果 if grep -q "rm" fs.sh;then ...
在Shell脚本中,可以通过判断grep命令的返回值来确定其结果是否为空。grep命令在找到匹配项时返回0,如果没有找到匹配项则返回非零值。 以下是一个示例代码: result=$(grep "pattern" file.txt) if [ -z "$result" ]; then echo "grep结果为空" else echo "grep结果不为空" fi 复制代码 在上面的示例中,...
ps:以上三种运行方式,第一种需要有可执行权限,后面两种不需要可执行权限。前两种是在子shell中运行,最后一种是直接在父进程运行,也就是会直接影响当前shell进程。 2. shell变量: 2.1 系统变量: Shell常见的变量之一系统变量,主要是用于对参数判断和命令返回值判断时使用,系统变量详解如下: ...
[ -z str1 ] ##判断字符串1为空,例:[ -z $A ],若变量A存在则返回值为1,若不存在则为0 逻辑测试: 语法:[ 表达式1 ] && [ 表达式2 ] ##若表达式1与表达式2都成功时,才会成功,“和““与”; [ 表达式1 ] || [ 表达式2 ] ##表达式1或2有一个成功时,就会成功,“或”; ...
在某些情况下,我们需要判断grep命令是否成功匹配到内容(也即判断目标文件内是否存在我们要查找的内容)。一般有两种方法可以实现: 借助上一进程的返回值 判断匹配结果是否为空字符串 第一种方法通过判断上一进程的返回值(紧接在执行完grep命令之后),成功执行返回0,执行失败返回1。紧接在grep执行之后,判断$?是否为0,...
-n "string":如果字符串的长度非零(即字符串不为空),则返回真。-z "string":如果字符串的长度...