条件判断式if和循环语句while及其函数的应用

条件判断式

if..then、case..esac

if..then 是最常见的条件判断式,就是当负某个条件判断的时候,就进行某项工作 ,其中"&&"代表AND,"||"代表or

if....then..else...fi

格式:

if [条件判断语句]; then 当条件判断成立时,可以进行的命令工作内容;
fi       // 结束if条件判断

例子:设定  A=3,判断,如果A要是等于3,就会显示3

if [ $A = 3 ]; then                                                          
            ehco "true"                                                            
fi

1、当条件不满足时的条件判断

if [ $A = 3 ]; the                                                           
    echo "true"  // 当A=3的时候就显示true                              
else                                                                         
    echo "error" // 当A不等于3的时候就显示error                        
fi

2、当多个条件判断时  if..then..elif...then..fi

if [ $A = 3 ];then 
  echo "3"          //  当A等于3的时候,就显现3
elif [ $A = 4 ]; then 
  echo "4"          //  当A等于4的时候,就显现4
elif [ $A = 5 ];then
  echo "5"          //  当A等于5的时候,就显现5
else  
  echo "error"     //  当A即不等于3也不等于4也不等于5的时候,就显现error
fi

3、当多层次的条件判断时,而且有多个既定的变量内容,就可以用到case..in..esac。它的语法如下:

case $变量名称 in 
    "第一个变量取值")
        语句 
        ;;            //  每个判断语句结束都要有双分号隔开    
    "第二个变量取值")
        语句                                          
        ;;
    *)             //  其它变量的取值*号表示  
        语句                                                                      
        exit                                          
        ;;
esac           // case的结尾

例:假如A在2、3这2个数之间取值,假如A等于2就显示2,等于3就显示3,既不是2也不是3就显示other

read -p "input a: " A
case $A in 
  2)         
    echo "2"      // 如果A的取值为2,则就显示2
;;                //  每个判断语句结束都要有双分号隔开
  3)
    echo "3"     // 如果A的取值为3,则就显示3
;;
  *) 
    echo "other" // 如果A的取值即不为2也不为3,则就显示other
exit             //  退出判断
;;
esac

循环式

㈠循环式 while..do..done 、 until..do..done 、  for..do..done

while循环就是当条件成立时,就不断的循环,直到条件不满足才停止循环,格式如下:

while  [ 条件判断] ; do 
    当条件满足的时候需要循环的程序
done

例子:用户输入任意字符时,我们都显示,你输入的是: 只有当用户输入Q或q时,我们才退出:

#!/bin/bash
#
while [ "$A" != ‘Q‘ -a "$A" != ‘q‘ ]; do
    echo "Input:$A"
    echo            //  此行显示为空格
  read -p "Please input something: " A
done

例子:求100内所有整数之和:

#!/bin/bash
#
declare -i SUM=0
declare -i A=1
while [ $A -le 100 ]; do  
    SUM=$[$SUM+$A]  
    let A++   //  让A不断的循环自加,直到A的值小与等于100的时候停止
done
    echo "SUM is $SUM"

㈡而与while相反就是until,它的意思就是,当条件不成立时,就进行循环

until  [条件判断] do

当条件不成立时,就不断的循环的程序

done

for..in..do..done的用法

例子显示每一位用户的默认shell:

#!/bin/bash
#
for I in `cut -d: -f1 /etc/passwd`; do
    echo "$I:`grep "^$I\>:" /etc/passwd | cut -d: -f7`"
done

函数的应用

写一个脚本:

1、提示用户输入一个用户名;

2、使用函数实现:

判断一个用户是否存在,用户名通过参数传递而来;

如果存在,就显示此用户的shell和UID

如果不存在,就说此用户不存在;

#!/bin/bash
#
name() {
 if id $1 &> /dev/null; then
    echo `id -u $1`, shell: `grep "^$1\>:" /etc/passwd | cut -d: -f7` 
    return 0
 else
    echo "NO such this user."
    return 1
 fi
 }
read -p "Input a user" USER  
 until [ "$USER" = "q" -o "$USER" = "Q" ]; do
   name $USER
   read -p "New User: " USER
done

⑴条件测试:用[]将测试的条件括住,如:[2 + 3]

整数的比较为双目操作,也就是多个整数比较:NUM1操作符NUM2

-eq  等于   #test 2 -eq 3

-ne  不等于

-gt  大于

-lt  小于

-ge  大于等于

-le  小于等于

⑵算术运算符

+  加   -  减 *  乘   /   %  余数   ^  指数

例子:2+3等于5的多种表示方法

1、#sum=$[2+3]

#echo $sum

2、#sum=$((2+3))

#echo $sum

3、#let sum=2+3

#echo $sum

4、#expr 2 + 3  ----> 中间必须得有空格

例子:5除以3的余数是否为0

#[ $[5%3] -eq 0 ]   ----> 括符两边有空格

条件判断式if和循环语句while及其函数的应用,布布扣,bubuko.com

时间: 2024-11-07 22:58:16

条件判断式if和循环语句while及其函数的应用的相关文章

shell编程 条件判断式----利用 case ..... esac 判断

条件判断式----利用 case ..... esac 判断 case  $变量名称 in   <==关键词为 case ,还有变量前有钱字号 "第一个变量内容")   <==每个变量内容建议用双引号括起来,关键词则为小括号 ) 程序段 ;;            <==每个类别结尾使用两个连续的分号来处理! "第二个变量内容") 程序段 ;; *)                  <==最后一个变量内容都会用 * 来代表所有其它值 不包含

shell编程 条件判断式----利用 if .... then ----多重

条件判断式----利用 if .... then ----多重 在同一个数据的判断中,如果该数据需要进行多种不同的判断时,应该怎么作?举例来说,上面的 sh06.sh 脚本中,我们只要进行一次 $yn 的判断就好 (仅进行一次 if ),不想要作多次 if 的判断. 此时你就得要知道底下的语法了: # 一个条件判断,分成功进行与失败进行 (else) if [ 条件判断式 ]; then 当条件判断式成立时,可以进行的指令工作内容: else 当条件判断式不成立时,可以进行的指令工作内容: fi

shell编程-条件判断式

条件判断式主要有以下6种类型: [[email protected] test]# ls -l total 8 drwxr-xr-x 2 root root 4096 Jan 17 19:28 shell -rw-r--r-- 1 root root 4 Jan 17 19:29 test.sh [[email protected] test]# [ -d test.sh ] && echo "yes" || echo "no" no [[email

【shell】条件判断式

条件判断式的表示格式: 文件判断式: [[email protected] ~]# [ -e /root/1 ] && echo yes || echo no #注意[]里面的空格,第一个命令为真打印yes,否则打印no yes [[email protected] ~]# [ -f /root/1 ] && echo yes || echo no yes [[email protected] ~]# [ -d /root/1 ] && echo yes |

第十三章、学习 Shell Scripts 条件判断式

利用 if .... then 单层.简单条件判断式 if [ 条件判断式 ]; then 当条件判断式成立时,可以进行的命令工作内容: fi <==将 if 反过来写,就成为 fi !结束 if 之意! && 代表 AND : || 代表 or : [ "$yn" == "Y" -o "$yn" == "y" ]上式可替换为 [ "$yn" == "Y" ] ||

if 脚本条件判断式

1.单一的条件判断式: 语法: if [ 条件判断式 ]; then 当条件判断式成立时,可以进行的指令工作内容: fi //将if反过来写,就是结束if之意! && 代表 AND  || 代表 or forexample: #!/bin/bash set -x //进行查错功能 #program; # This program shows the user's choice #History: #2017/06/21 likui First release PATH=/bin:/sbin

【重点】Shell入门教程:流程控制(3)条件判断式的真假值

之前曾提到,在Bash中什么是真什么是假,是以命令的结束状态是否为0来做判断.传回0,即为真:传回非0,即为假. 在Bash中,这种可以影响程序流程的式子,称为条件判断式.判断式的操作数分成“单元”及“二元”两种.如“-f 文件”可测试文件是否存在,运算符 -f 后接一个操作数“文件”,这种判断式称为“单元”:如“参数 1 -gt 参数2”可测试“参数1”的值是否大于“参数2”,运算符 -gt 的左右各接一个要比较的参数,这种判断式称为“二元”.大多数“单元”的判断式用于判断文件的相关属性,少数

条件判断之if、case语句和文件查找命令

一.脚本编程 1.if语句怎样用 人生面临许多选择,在编程世界里同样也有许多选择.同其他编程语言一样,当我们想写一个功能健壮的脚本时,通过条件判断来选择适合的操作尤为重要.在我们执行某些重要的操作之前,判断当前环境是否适合执行这一操作是非常重要的.我们可以用&&和||来做简单的判断,不过shell有更用的语句.shell有两种常见的条件选择语句if和case.我们先来看一下if该怎样用吧. if语句的单分支语法: if 条件判断 ;then;执行命令:fi [[email protecte

条件判断的使用以及循环

跟着廖雪峰老师的步骤在走,明白了条件判断以及循环的使用,明天将学习字典和set #计算100之内的和 sum=0 for x in range(101): sum=sum+x print(sum) Range()是函数 使用range可以获得括号中的数字 例如range(10)是0 1 2 3 4 5 6 7 8 9 10 十一个数字 #计算100之内的奇数和 sum=0 n=99 while n>0: sum=sum+n n=n-2 print(sum) 条件判断 weight=1.75 he