美文网首页
2016.9.8 AM 课堂笔记 Shell 脚本

2016.9.8 AM 课堂笔记 Shell 脚本

作者: 微风吹PP凉 | 来源:发表于2016-09-08 11:55 被阅读0次

    16.字符串运算符

    = :判断两个字符串是否相等

    string1="+"
    string2="-"
    if [ $string1 = $string2 ]
    then
        echo "YES"
    else
        echo "NO"
    fi
    

    != :判断两个字符串不相等
    -z :判断字符串长度是否为0,为0为真

    string=""
    if [ -z $string ]
    then
        echo "0"
    else
        echo "NO"
    fi
    

    输出 0

    string="aabbbb"
    if [ -z $string ]
    then
        echo "0"
    else
        echo "NO"
    fi
    

    输出为 NO

    -n :判断字符串长度是否不为0,不为0为真
    str :判断字符串长度是否为0,字符串是否存在

    if [ $string ]
    

    17.文件运算符

    -d:目录文件
    -f:普通文件
    -r:可读权限
    -w:可写权限
    -x:可执行权限
    -e:文件是否存在

    if [ -e 0908 ]
    then
        echo "YES"
    else
        mkdir 0908
    fi
    

    18.case命令

    case 操作数 in
    模式1)
            语句1
    ;;
    模式2)
           语句2
    ;;
    *)  ————————————相当于if语句中的else
            语句3
    esac
    
    printf "input 2 nums: "
    read num1
    read num2
    printf "input yun suan"
    read op
    case $op in
    "+")
        let value=num1+nu2
        printf "$value\n"
    ;;
    "-")
        let value=num1-num2
        printf "$value\n"
    ;;
    "*")
        let value=num1*num2
        printf "$value\n"
    ;;
    "/")
        let value=num1/num2
        printf "$value\n"
    ;;
    esac
    

    注意 当输入 *)时表示输入错误代码

    19.while循环

    sum=0
    i=1
    while [ $i -le 100 ] # ((i<=100))
    do
        let sum+=i
        let i++
    done
    printf "sum=%d\n" "$sum"
    
    sum=0
    i=1
    while ((i<=100))
    do
        if ((i%2==0))
        then
            let sum+=i
        fi
        let i++
    done
    printf "sum=%d\n" "$sum"
    

    打印以下图形

       *
      ***
     *****
    *******
    
    i=1
    while [ $i -le 4 ]
    do
        blank=1
        while [ $blank -le `expr 4 - $i` ]
        do
            printf " "
            let blank++
        done
        star=1
        let num=2*i-1
        while [ $star -le $num ]
        do
            printf "*"
            let star++
        done
        printf "\n"
        let i++
    done
    

    相关文章

      网友评论

          本文标题:2016.9.8 AM 课堂笔记 Shell 脚本

          本文链接:https://www.haomeiwen.com/subject/itjsettx.html