第十二周 第四天任务 if

回复 收藏

1.5 if逻辑判断

在shell中数学运算符的表示方式:

>  表示方式:-gt

<  表示方式:-lt

== 表示方式:-eq

!= 表示方式:-ne

>= 表示方式:-ge

<= 表示方式:-le

例如1:

#vim if1.sh

#!/bin/bash

a=5

if [ $a -gt 3 ]

then

   echo "a>3"

fi

保存退出;

#sh -x if1.sh

例如2:

#vim if2.sh

#!/bin/bash

a=5

if [ $a -gt 10 ]

then

   echo "a>10"

else

   echo "a<=10

fi

保存退出;

#sh -x if2.sh

例如3:

#vim if3.sh

#!/bin/bash

a=5

if [ $a -gt 10 ]

then

   echo "a>10"

elif [ $a -lt 4]

 then

   echo "a<4"

else

   echo "4<a<10"

fi

保存退出;

#sh -x if3.sh

观察着三个例子,掌握if的使用格式:

if elif else fi

1.6 if判断的几种用法

针对文件,变量,目录 的判断使用。

针对文件的有选项:

#if [ -f 1.txt ];then echo ok; fi   判断是否是一个文件

#if [ -d /tmp/ ];then echo ok; fi   判断是否是一个目录

#if [ -r 1.txt ];then echo ok; fi   判断是否可读

#if [ -w 1.txt ];then echo ok; fi   判断是否可写

#if [ -x 1.txt ];then echo ok; fi   判断是否可执行

#if [ -b 1.txt ];then echo ok; fi

#if [ -s 1.txt ];then echo ok; fi

vim sed.sh

#!/bin/bash

#让用户输入的信息只能显示数字,如果不是数字提示用户输入的信息不是纯数字

read -p "Please input a number:" n

##  这里使用了一个``反引号,是将一条命令的结果附值给一个变量

##  s/[0-9]//g 表示将0-9的数字替换为空

m=`echo $n|sed 's/[0-9]//g'`

## -n 表示变量是否不为空,-z表示变量是否为空

if [ -n "$m" ]

then

  echo "The character you input is not a number,please retry."

else

  echo $n

fi

检验是否存在某个用户:如aming用户:

#grep '^aming:' /etc/passwd         //grep 可以查看

#if grep -q '^aming:' /etc/passwd; then echo "aming exist." ; fi      //-q 是不让if输出结果,只做判断。

-a

-o

2016-09-19 11:59 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: