美文网首页
数组、关联数组与别名使用

数组、关联数组与别名使用

作者: 啾咪啾啾酱 | 来源:发表于2018-02-25 22:18 被阅读0次

    【数组】

    普通数组只能使用整数作为数组的索引值

    定义数组

    格式:array[key]=value

    单行一列值:

    array_pt=(1 2 3 4 5 6)

    一组索引值:

    array_pt[0]="text1"

    array_pt[1]="text2"

    array_pt[2]="text3"

    打印数组

    打印指定索引的数据元素内容:

    #echo  ${array_pt[0]}

    text1

    index=3

    #echo ${array_pt[3]}

    text4

    打印数组中的所有值:

    #echo ${array_pt[*]}或者echo  ${array_pt[@]}

    打印数组长度:

    #echo ${#array_pt[*]}

    删除数组:

    unset array_pt[1]     //删除数组中的第一个元素

    unset array_pt     //删除整个数组

    数组的提取:

    例如:定义了数组array=([0]=one  [1]=two [2]=three [3]=four)

    ${array[@]:0}   //除去所有元素

    ${array[@]:]}   //除去第一个元素后的所有元素

    #echo  ${array[@]:0:2}

    #echo ${array[@]:1:2}

    子串删除:

    #echo  ${array[@]:0}

    左边开始最短的匹配:"t*e",这将匹配到"thre"

    #echo ${array[@]#t*e}

    one  two e four

    左边开始最长的匹配,这将匹配到的"three"

    #echo ${array[@]##t*e}

    从字符串的结尾开始最短的匹配:

    #echo  ${array[@]%o}

    one tw three four

    从字符串的结尾开始最长的匹配:

    #echo ${array[@]%%o}

    one tw three four

    子串替换:

    #echo ${array[@]/o/m}

    mne twm three fmur

    没有指定替换子串,则替换匹配到的字符:

    #echo ${array[@]/ /o/}

    ne tw three fur

    替换字符串的前端子串:

    #echo ${array[@]/#o/k}

    kne two three four

    替换字符串的后端子串:

    #echo  ${array[@]/%o/k}

    one twk three four

    【关联数组】

    关联数组的索引值可以使用任意文本。

    关联数组的声明:

    declare -A array_var

    使用内嵌索引-值列表法将元素添加到关联数组:

    array_var=([one]=one-1 [two]=two-2 [three]=three-3 [four]=four-4 [five]=five-5 [six]=six-6)

    使用独立的索引-值进行赋值:

    array_var[one]=one-1

    array_var[two]=two-2

    array_var[three]=three-3

    array_var[four]=four-4

    array_var[five]=five-5

    array_var[six]=six-6

    列出数组索引值:

    #echo ${!array_var[*]}

    four one five six two three

    【别名】

    可以用函数或alias命令实现

    alias举例:

    alias nginxrestart='/usr/local/nginx/sbin/nginx -s reload'

    需要将该命令放到~/.bashrc文件中重启后才不会失效。

    别名转义:

    可以在命令之前输入反斜杠\来忽略所定义过的别名

    相关文章

      网友评论

          本文标题:数组、关联数组与别名使用

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