zoukankan      html  css  js  c++  java
  • Bash总结

    1.常用三种循环

    declare -i num=0
    for((i=1;i<100;i++))
    do
        num=num+i
    done
    echo '1+2+3+...+99='$num

    declare -i i=1
    num=0
    while [ $i -lt 100 ]
    do
        num=num+i
        i=i+1
    done
    echo '1+2+3+...+99='$num

    i=1
    num=0
    until [ $i -eq 100 ]
    do
        num=num+i
        i=i+1

    done
    echo '1+2+3+...+99='$num 

    2.Bash中的异步调用

    wget http://localhost:81/index.php  1>/dev/null 2>/dev/null & 

    3.数组操作

    #!/bin/sh
    #初始化数组,每个元素用空格分开
    arr=(10 9 8 7 6)
    arr2=("aa" "bb" "cc")
    #访问数组某个元素(下标从0开始)
    echo ${arr[4]}
    #获取数组所有元素
    echo ${arr2[@]}
    #获取数组所有元素
    echo ${arr2[*]}
    #获取数组长度
    echo ${#arr2[@]}
    #遍历数组
    for str in ${arr2[@]}
    do
        echo $str
    done
    #遍历数组
    for((i=0;i<${#arr[@]};i++));do
        echo ${arr[$i]}
    done
    #删除数组某个元素
    unset arr[0]
    echo ${arr[*]}
    #获取数组长度
    echo ${#arr[*]}
    #删除整个数组
    unset arr
    echo ${arr[*]}
    #对数组进行截取: ${数组名[@或*]:起始位置:长度
    echo ${arr2[*]:1:2}
    #使用数组截取构造一个新数组,截取原先数组,返回的是字符串,中间用“空格”分开,因此如果加上”()”,将得到一个子数组
    arr3=(${arr2[*]:1:2})
    echo ${arr3[*]}
    #数组元素替换,该操作不会
    arr4=("aa" "bb" "aa" "bb" "aa" "bb")
        #将数组中所有aa替换为dd
        echo ${arr4[*]/aa/dd}
        #数组arr4还是未变
        echo ${arr4[@]}
    #数组替换后构造一个新数组,同理,数组执行替换后返回的是字符串,中间用“空格”分开,因此如果加上”()”,将得到一个子数组
    arr5=(${arr4[*]/aa/dd})
    echo ${arr5[5]}
  • 相关阅读:
    set基本用法-----2
    set基本用法---1
    最大和
    最长公共上升子序列||LCIS
    CODEVS【3556】科技庄园
    CODEVS【3372】选学霸
    CODEVS【1025】选菜
    hlg1398邮局问题【找中位数】
    hlg1175小陈老师、桌子、盘子【计算几何】
    hlg1216数的划分【地推公式|dfs】
  • 原文地址:https://www.cnblogs.com/mxw09/p/2422528.html
Copyright © 2011-2022 走看看