zoukankan      html  css  js  c++  java
  • shell 脚本之if、for、while语句

    (1)if语句

    root@ubuntu:/mnt/shared/shellbox/shellif# cat shellif.sh 
    #!/bin/bash
    
    #推断字符串
    if [ "$1" = "hello" ]
    then
            echo "$1=$1"
    fi
    
    #推断数字,if()方式仅仅能在bash下用,在sh下不行
    if ((  $1 > 20 ))
    then
            echo "$1: $1 > 20"
    elif (( $1 == 20 ))
    then
            echo "$1 == 20"
    elif (( $1 < 20 ))
    then
            echo "$1 < 20"
    fi
    
    #方括号推断语句
    if [ $1 -lt 20 ]
    then
            echo "$1 < 20"
    elif [ $1 -ge 20 -a $1 -le 30 ]
    then
            echo "$1 >= 20 && $1 <= 30 "
    elif [ $1 -gt 30 ]
    then
            echo "$1 > 30"
    fi

    运行结果:

    root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 10
    $1 < 20
    $1 < 20
    root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 20
    $1 == 20
    $1 >= 20 && $1 <= 30 
    root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 30
    $1: 30 > 20
    $1 >= 20 && $1 <= 30 
    root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 40
    $1: 40 > 20
    $1 > 30


    (2)for语句

    root@ubuntu:/mnt/shared/shellbox/shellfor# cat shellfor.sh 
    #!/bin/bash
    
    for i in $*
    do
            echo $i
    done
    
    for char in {a..c}
    do
            echo $char
    done
    
    
    for int in {1..3}
    do 
            echo $int
    done

    运行结果:

    root@ubuntu:/mnt/shared/shellbox/shellfor# ./shellfor.sh 
    a
    b
    c
    1
    2
    3


    (3)while语句:

    root@ubuntu:/mnt/shared/shellbox/shellwhile# cat shellwhile.sh 
    #!/bin/bash
    
    #注意: (( ))这样的方式仅仅能在bash中使用,而不能在sh中使用
    i=0
    while (( i < $1 ))
    do
        echo "i=$i"
        let i+=1
    done
    
    #赋值时"="前后不能有空格
    num=0
    while [[ $num != $1 ]]
    do
            echo "num=$num, num != $1"
            let num+=1
    done
    
    while true
    do
            echo "here in while true ..."
            sleep 2
    done
    运行结果:



    root@ubuntu:/mnt/shared/shellbox/shellwhile# ./shellwhile.sh 5
    i=0
    i=1
    i=2
    i=3
    i=4
    num=0, num != $1
    num=1, num != $1
    num=2, num != $1
    num=3, num != $1
    num=4, num != $1
    here in while true ...
    here in while true ...

  • 相关阅读:
    不变数组 NSArray
    【英雄会】微软题目:几个bing
    单例模式 Singleton
    【实战经验】64位Win7安装+32位Oracle + PL/SQL 解决方法
    如何解决SQL Server数据库查询速度慢
    Linq 学习(1) Group & Join--网摘
    UMeng 友盟的用户数,启动数 等
    浏览器userAgent大全
    VBA 将 ANSI 转换为 UTF-8文件
    C# 中控件 WebBrowser 对 frameset/ iframe 操作和内容获取
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5067372.html
Copyright © 2011-2022 走看看