shell脚本解析4----分支语句(if)

一、条件语句

1、

if [expression]

then

#code block

fi

2、

if [expression]

then

#code block

else

  #code block

fi

3、

if [expression]

then

  #code block

else if [expression]    #该处可以替换成elif [expression]

  then

    #code block

  else

    #code block

fi

fi

二、条件语句中常用的比较

比较操作                         整数操作                      字符串操作

相同                               -eq                                 =

不同                               -ne                                !=

大于                               -gt                                 >

小于                                -lt                                 <

小于或等于                       -le

大于或等于                       -ge

为空                                -z

不为空                             -n

-e 判断文件已经存在

-f 文件是普通文件

-s 文件大小不为零

-d 文件是一个目录

-r 文件对当前用户可以读取

-w 文件对当前用户可以写入

-x 文件对当前用户可以执行

例如:

#!/bin/sh

folder=/home

[ -r "$folder" ] && echo "Can read $folder"                     #"&&"表示前面为真时,则执行后面。有“即”的意思。

[ -f "$folder" ] || echo "this is not file"                           #"||"表示前面为假时,则执行后面。有“否则”的意思。

shell脚本解析4----分支语句(if)

时间: 2024-08-01 22:39:42

shell脚本解析4----分支语句(if)的相关文章

shell脚本解析5----循环语句

一.for循环 for var in [ list ] do #code block done $var是循环控制变量,[list]是var需要遍历的一个集合,do/done对包含了循环体.如果do和for被写在同一行,必须在do前面加上“;”,如:for $var in [list]; do 例如: #!/bin/bash for day in Sun Mon Tue Wed Thu Fri Sat do echo $day done 执行结果: 如果列表被包含在一对括号中,则被认为是一个元素

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脚本解析3-----局部变量与函数

#!/bin/bash hello="var1" echo $hello function func1                             #定义函数func1 { local hello="var2"                    #定义内部变量hello echo $hello } func1                                          #进行函数调用 echo $hello 执行结果: 总结:局

shell脚本解析7(练习1)-----脚本参数

#!/bin/bash a=$1         #将第一个命令行参数传递给变量a,第二个命令行参数传递给b b=$2 if [ -z $a ] || [ -z $b ]          #判断a 和 b 是否为空,只要有一个为空就打印提示语句并退出. then echo "please enter 2 no" exit 1 fi if [ $a -eq $b ];then               #判断a和b的大小,并根据判断结果打印语句 echo "number a

Shell脚本中执行sql语句操作

这篇文章主要介绍了Shell脚本中执行sql语句操作mysql的5种方法,本文讲解了将SQL语句直接嵌入到shell脚本文件中.命令行调用单独的SQL文件.使用管道符调用SQL文件等方法,需要的朋友可以参考下 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到sh

shell脚本循环执行mysql语句

参考资料:Shell脚本中执行mysql语句 需求:数据库里有张数据表存储的是用户对电影的评价(user_id movie_id rating time),但是我现在要每部电影的总评分. 解决方法: 1).写个sql文件test.sql:use movie_recommendation;select distinct movie_id from T_user_movie_rating_map; 2).在终端输入mysql -uroot -p123456 -e < test.sql > movi

Shell脚本中执行mysql语句

对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 --演示环境 [[email protected] ~]# more /etc/issue CentOS release 5.9 (Final) Kernel \r on an \m   [e

shell脚本解析9(练习3)------倒序输出

#!/bin/bash #提示用户输入 echo -n "Please enter number" read n #读入输入的值放到变量n中 sd=0 rev="" on=$n #将变量n的值保存到变量on中,方便以后用到 echo "You put number is $n" while [ $n -gt 0 ] do sd=$(($n % 10)) #求余 n =$(($n/10))     #去掉当前的最后一位数后,剩下的数 rev=&qu

shell脚本解析8(练习2)-----文件个数统计

#!/bin/bash counter=0 #变量files遍历一遍当前文件夹 for files in * do #判断files是否为文件,如果是,counter变量值加1,再赋值给自己. if [ -f "$files" ] then counter=`expr $counter + 1` fi done echo "There are $counter files in `pwd`" 执行结果: 注意:表达式counter=`expr $counter +