shell脚本之if语句

一、前言

结构化编程中,主要有三种结构:顺序、分支、循环。由此可见分支判断的重要性。

而且在shell编程中往往会遇到进行判断的情况,比如:判断文件是否存在、目录是否存在等等。

二、if语句的结构

if 条件
then
    ...
elif 条件
    ...
else
    ...
fi

三、shell中的分支判断

shell中的判断有以下几种:

1.字符串判断

str1 = str2 当两个串有相同内容时为真
str1 != str2 当两个串内容不同时为真
-n str1 当串的长度大于0时为真
-z str1 当串的长度为0是为真
str1 当串为非空时为真

2.数字判断

n1 -eq n2 两数相等为真
n1 -ne n2 两数不等为真
n1 -gt n2 n1大于n2为真
n1 -ge n2 n1大于等于n2为真
n1 -lt n2 n1小于n2为真
n1 -le n2 n1小于等于n2为真

3.文件判断

-r file 文件可读为真
-w file 文件可写为真
-x file 文件可执行为真
-f file 文件为普通文件为真
-d file 文件为目录文件为真
-c file 文件为字符特殊文件为真
-b file 文件为块特殊文件为真
-s file 文件为链接文件为真
-t file 当文件描述符指定的设备为终端时为真

4.组合

-a 与
-o 或
!  非
时间: 2024-08-07 20:02:55

shell脚本之if语句的相关文章

shell脚本解析6----case语句

BASH中的case结构,可以用于进行多项分支. case "$var" in condition1) ;; condition2) ;; *) default statments;; esac 例如: #!/bin/bash echo "Hit a key, then hit return" read Keypress case "$Keypress" in [A-Z]) echo "Uppercase letter";;

Shell脚本执行hive语句 | hive以日期建立分区表 | linux schedule程序

#!/bin/bash source /etc/profile; ################################################## # Author: ouyangyewei # # # # Content: Combineorder Algorithm # ################################################## # change workspace to here cd / cd /home/deploy/rec

shell脚本执行mysql语句出现的问题

shell脚本执行mysql语句出现的问题,问群里的大牛的到解答,是单引号问题,改成双引号即可 #小提示(对本主题没什么关联):ubuntu目前使用的是dash,导致一些for(()函数无法正常执行, sudo dpkg-reconfigure  dash 选择NO,就改会bash了 一.脚本内容如下: #/bin/bash hostname='192.168.2.52' port=3306 username='root' password='123456' #dbname='' #-----s

Linux Shell脚本编程while语句

Linux Shell脚本编程while语句案例 1,每隔3秒,打印一次系统负载 #!/bin/bash while truedo    uptime    sleep 3done 2,把监控结果保存到文件,在后台执行,然后用tail -f监控文件变化[email protected]:~/linux/shell/flow_control$ sh while.sh &[1] 12867 #!/bin/bash while truedo    uptime >> log.txt    s

shell脚本、if语句、for循环语句

shell在shell脚本中,如果用户不输入东西,系统不自动退出,this is a bug!文件测试语句:-d -f -r -w -x -e逻辑测试语句:"&&"与(同时满足) "||"或(前为假,后面才实施) "!"非(看中间是与还是或来决定)整数值比较语句:eq(是否等于) gt(是否大于) lt(是否小于) ge(是否大于或等于) le(是否小于或等于) ne(是否不等于)字符串比较语句:=(等于) !=(不等于) -z(

shell脚本值if语句

在shell脚本中的if语句的语法和java中或者C语言中的语法格式是不一样的,具体的语法格式如下所示: 整数变量表达式 if [ a -eq b ] //== equal           if [ a -ne b ] //!= not equal           if [ a -ge b ] //>= greater equal           if [ a -gt b ] //> greater than           if [ a -le b ] //<= les

Shell脚本编程——case语句

天我为大家分享的是关于如何用case语句去写一些选择执行的脚本.case语句主要合适应用于一些选择条件比较复杂的脚本中,如果我们用if多分支语句也能写出来,但是显的太哆嗦,此时我们的最佳选择就就是case语句. 条件判断:case语句      case 变量引用 in      PAT1)      分支1      ;;      PAT2)      分支2      ;;      ...      *)      默认分支      ;;      esac 示例代码: 1 #!/bi

shell脚本一些基本语句的用法

一.for语句 1.使用for语句批量添加用户 2.使用for语句检查主机是否可以正常ping通 二:while语句 1.使用while语句按用户名有规律添加用户 2.使用while语句编写猜价格脚本 三:case语句 1.使用case语句编写测试字符类型脚本 2.使用case语句编写服务状态控制脚本

Linux shell脚本编程if语句的使用方法(条件判断)

if 语句格式if  条件then Commandelse Commandfi        别忘了这个结尾If语句忘了结尾fitest.sh: line 14: syntax error: unexpected end of fi     if 的三种条件表达式 ifcommandthen if 函数then 命令执行成功,等于返回0 (比如grep ,找到匹配)执行失败,返回非0 (grep,没找到匹配)if [ expression_r_r_r  ]then    表达式结果为真,则返回0