2016.9.8

作者: 抬头向前看 | 来源:发表于2016-09-12 08:38 被阅读0次

    1.字符串运算符

    = : 判断两个字符是否相等【 $string1 = $string2 】
    != :判断两个字符是否不相等【 $string1 != $string2 】
    -z :判断字符串长度是否为0

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

    -n :判断字符串长度是否不为0

    string=""
    if [ -n $string ]
    then    
        echo "length!=0"
    else
        echo "length=0"
    fi
    

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

    2.文件运算符

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

    if [ -e 0908 ]
    then
        echo "文件已存在"
    else    
        mkdir 0908
    fi
    

    3.case命令

    case 操作符 in

    模式1)
        语句1
    ;;
    模式2)
        语句2
    ;;
    模式3)
        语句3
    ;;
    模式4)
        语句4
    ;;
    *)相当于if语句中的else
    esac
    

    printf "input two numbers: "
    read num1
    read num2
    printf "input yunsuan"
    read op
    case $op in
    "+")
    let value=num1+num2
    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

    4.while运算

    while [条件]
    do
        语句
    done
    

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

    5.shell参数

    $0:代表这个可执行文件本身
    $1:第一个参数
    $2:第二个参数
    ...
    $n:第n个参数
    $#:参数的个数

    //0.是否有参数
    //1.判断这个文件是否存在
    //2.如果不存在,输出错误信息

    6.for 循环

    for 变量 in 参数变量
    do
      语句
    done
    
    

    7.数组

    1.定义:

    (1)array=(1 2 3 4 5)
    (2)array[0]=1
        array[1]=4
        array[4]=6
    (3)数组元素访问
        ${数组名[下标]}  #加上{},表示为一个整体
    (4)访问数组所有元素
       ${array[@]}
       ${array[*]}
    (5)@和*的区别
        array=(1 2 3 4 5)
        ${array[@]}="1" "2" "3" "4" "5"
        ${array[*]}= "1 2 3 4 5"
    

    8.shell函数

    1.定义

    [function]     functionName
    {
      语句体
    }
    

    function fun1
    {
    printf "====\n"
    }
    fun1

    2.functionName

    function fun1
    {
            for value in "$@"                  //@
            do 
                    printf "$value\n"
            done
            printf "====\n"
    }
    array=(1 2 3 4)
    fun1 ${array[@]}
    
    
    捕获.PNG
    function fun1
    {
            for value in "$*"            //*
            do 
                    printf "$value\n"
            done
            printf "====\n"
    }
    array=(1 2 3 4)
    fun1 ${array[@]}
    
    
    捕获.PNG

    3.如果shell函数传参,传的参数大于等于10个,在函数里面取第10 个数${10}

    4.函数的返回值由$?去接收

    1.$?: 它是临时保存最后一次运行的shell函数return出来的值
    2.如果return $value出来的值$value>255,实际上返回出来的结果应该是$value%256
    3.如果需要接受比255大的数,使用echo命令去保存shell函数的结果集,接收用另外一个变量
    value去保存结果集,然后再进行运用,实际上value保存到的结果是shell函数echo后面的结果
    function sum()
    {
      echo
    }
    value='sum'
    printf "%\n"  "$value"
    

    相关文章

      网友评论

          本文标题:2016.9.8

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