Linux系统中的shell脚本-——if判断语句

Linux系统中的shell脚本-——if判断语句

1.格式

2.条件判断相关参数:文件类型判断

实验操作如下:

         判断软链接时,如果链接的文件 不存在,-L并不能检测出来。解决方案: 先用-e判断链接的文件是否有效(存在?), 然后判断是否是一个软链接。

3.条件判断相关参数:文件权限判断

4.条件判断相关参数:新旧参数判断

 注意:这里的新旧指的是文件最后一次修改的时间。

实验如下:

5.条件判断相关参数:判断整数

6.条件判断相关参数:判断字符串

7.多重条件判断

应用实例:

1. 根据当前登录用户uid判断是否为超级用户?提示:uid=0代表超级用户
1-1). 如果不是超级用户,则输出”the user is not root”
1-2). 如果是超级用户输出”the user is root”,否则输出”the user is not root”


2. 使用类C风格的语法进行编写shell脚本
拓展: 类C风格的数值比较规则
• ((表达式))
• =表示赋值
• ==表示判断数值是否相等
3. 用户输入云服务器相关信息(主机名),判断主机名输入是否合法?

8.流程控制语句

应用案例1:主机连通性判断

shell编程如下:

#!/bin/bash
 11 ip=$*
 12 [ -z $ip ] && {
 13         echo "ERROR Please input ip"
 14         exit
 15 }
 16 ping -c 1 $ip &> /dev/null
 17 if [ $? -eq 0 ];then
 18         echo ping $ip is ok
 19 else
 20         echo ping $ip failed
 21 fi

 

shell编程如下:

拓展知识:pgrep命令:以名称为依据从运行进程队列中查找进程,并显示查找到的进程id
● 选项
● -o:仅显示找到的最小(起始)进程号;
● -n:仅显示找到的最大(结束)进程号;
● -l:显示进程名称;
● -P:指定父进程号;pgrep -p 4764 查看父进程下的子进程id
● -g:指定进程组;
● -t:指定开启进程的终端;
● -u:指定进程的有效用户ID。

1 #!/usr/bin/bash
  2 name=$*
  3 pgrep $name &> /dev/null
  4 if [ $? -eq 0 ];then
  5         echo "$name process exists"
  6 else
  7         echo "$name process not exists"
  8 fi


10 #!/bin/bash
 11 read -p "please input a username:" username
 12 id $username
 13 if [ $? -eq 0 ];then
 14         echo "username $username is exist"
 15         else
 16                 echo "username $username is not exist"
 17         fi


4.shell 编程语句如下

10 #!/bin/bash
 11 rpm -q $* &> /dev/null
 12 if [ $? -eq 0 ];then
 13         echo "This package $* is installed"
 14 else
 15         echo "ERROR:please install $* package"
 16         dnf install $*
 17 fi


5.shell 编程语句如下

 


版权声明:本文为weixin_43215948原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。