首页 > 代码库 > Shell脚本编程---条件判断if

Shell脚本编程---条件判断if

SHELL脚本编程---判断

1、条件判断

     条件判断在bash分为整数判断,字符判断和文件判断。

1-1条件判断的表达式: ① [ expression ] (注意单词词头和词尾都需要空格)

                  ② [[ expression ]](注意同上)

                  ③ test expression

1-2 整数比较

      ① -eq  测试两个数是否相等,相等为真,不等为假

      ② -ne  测试两个数是否不等, 反之。

      ③ -gt (大于),-lt (小于),-ge(大于或等于),-le(小于或等于)

逻辑与:&&   逻辑或: ||

2、条件判断,控制结构

if  判断条件;then

   statement1

   statement2

   statement3

………

fi   单分支if语句。

双分支的if语句

if 判断条件;then

  statement1

else

  statement2

fi

命令执行状态返回值:0为真,其他数值全为假。

==================以下全部都为练习例题===============

逻辑判断题1、

1、如果用户不存在,则添加用户

id USERNAME &> /dev/null || useradd USERNAME

(一般在脚本中定义的变量内容,脚本执行结束,变量就会被撤销)

逻辑判断2、

1、如果用户存在,就显示用户已经存在,否则就添加此用户。

id newuser && echo “newuser exists” || useradd newuser

逻辑判断3、

1、如果用户不存在,就要添加用户,否则就显示用户已存在

id newuser &> /dev/null && echo “newuser exist” || useradd newuser

逻辑判断4、

如果用户不存在,添加还给密码,否则,显示用户已经存在

id newuser2 && echo “newuser2 exists” || useradd newuser2 && echo “newuser2” | passwd --stdin newuser2

条件判断练习题:

添加三个用户,user1-user3。需要提前判断用户是否存在,并显示添加了几个用户。最后显示当前系统上用户的数量

 

练习题二:

写一个脚本,使用一个变量保存用户名,判断其是否存在先,而且如果其UID为0,就说它是管理员,如果不为0就说它们是普通用户。

image

写一个简单脚本,完成如下的任务、

使用一个变量保存用户名,删除变量中的用户,以及它的家目录,显示“删除成功”信息。

image

练习题三:

判断当前系统上是否有用户默认的shell为bash,如果有,就显示有多少个这样的用户,否则,就显示没有。

image

========(注意:这里面有个叫RETVAL=$? 这个写在那个命令语句后面,执行的就是哪个后面的命令执行状态返回结果。)=========

练习题四:

判断当前系统上是否有用户默认的shell为bash,如果有,就显示其中的一个用户名,否则,就显示没有。

image

练习四:写脚本,给定一个文件,如/etc/inittab,判断文件中是否有空白的行,如果有,显示空白行数,否则,显示没有空白行。

image 

练习四改进:写脚本,让用户随便输入一个文件,判断该文件是否有效,如果有效,则显示其空白的行,否则,显示没有空白行。

image

练习五:随便给一个用户,判断它的UID和GID是否一致,如果一致,显示用户为”good guy“

否则,显示为bad guy

image

练习六:判定命令历史中历史命令的总条目是否大于等于1000,如果大于等于1000,则显示“need clean up”,否则显示“ok!”

image或者是image

Shell脚本编程---条件判断if