zoukankan      html  css  js  c++  java
  • shell基本知识2

    一、数组

      普通数组:只能用整数作为数组索引

      关联数组:可以用字符串作为数组索引

      1、普通数组

        (1)添加数组

          一次赋一个值

            格式:数组名[索引下标]=值

            array[0]=value0

            array[1]=value1

          一次赋多个值

            格式:数组名=(值1 值2 值3...)

            array=(value1 value2 value3...)  值之间是用空格隔开

        

        (2)查看关联数组

          格式:declare -a

        (3)读取数组

          格式:${数组名[索引下标]}

          echo ${array[0]}                 获取数组中的第一个值

          echo ${array[*]}/echo ${array[*]}        获取数组中的所有值

          echo ${#array[*]}或者echo ${#array[*]}      获取数组中所有元素的个数

          echo ${!array[@]}                获取数组中元素的索引下标

          echo ${array[@]:1:2}               访问指定的元素,1代表从下标为1的元素开始获取,2代表获取后面几个元素

      2、关联数组

       (1)添加数组

        1)一次赋一个值

          格式:数组名[索引/下标]=变量值

            array[a]=one

        2)一次赋多个值

          格式:数组名=([下标1/索引1]=值1 [下标2/索引2]=值2 [下标3/索引3]=值3...)

          array=([a]=one [b]=two [c]=three)

       (2)查看关联数组

          格式:declare -A

       (3)获取关联数组值

          格式:echo ${数组名[下标/索引]}

          echo ${array[0]}                 获取数组中的第一个值

          echo ${array[*]}/echo ${array[*]}        获取数组中的所有值

          echo ${#array[*]}或者echo ${#array[@]}      获取数组中所有元素的个数

          echo ${!array[@]}                获取数组中元素的索引下标

          echo ${array[@]:1:2}               访问指定的元素,1代表从下标为1的元素开始获取,2代表获取后面几个元素

        案例:统计web服务的不同连接状态的个数

           分析:查看网站连接状态的命令:ss -ant | grep :80  或者nestat -napt | grep :80

              统计不同连接状态时,循环统计,相同状态出现一次就+1

            

    二、dirname和basename

      1、说明:取出一个目录下的目录和文件

        A=/home/xwxxh/桌面/shell/luck.tx

        #dirname $A    //取出目录

        #/home/xwxxh/桌面/shell

        #basename $A    //取出文件

        #luck.txt

      2、变量内容的删除和替换

        一个‘%’代表从右去掉一个/key/

        一个‘%%’代表从右往左最大去掉/key/

        一个‘#’代表从左往右去掉一个/key/

        一个‘##’代表从左往右最大去掉/key/

        案例:url=www.taobao.com.cn

           #echo ${#url}      //获取变量的长度

           #17

           #echo ${url%.*}     //从右往左去掉第一个.后面的所有内容

           #www.taobao.com

           #echo ${url%%.*}     //从右往左去掉最后一个.后面的所有内容

           #www

        一个‘/’代表从左往右替换第一个

        一个‘//’代表从左往右所有都替换

        案例:url=www.taobaobao.com

        #echo ${url/a/A}

        #www.tAobaobao.com

        #echo ${url//a/A}

        #www.tAobAobAo.com

  • 相关阅读:
    MRC与ARC两种模式的相互兼容
    解决获取的手机序列号卸载应用重新安装时序列号变动的问题
    屏幕截图
    图片右下角显示水印
    在一个工程中建两个端口(司机端和货主端)
    左右侧边栏抽屉效果
    第二阶段第一天站立会议总结
    第十天站立会议总结
    第九天站立会议总结
    第八天站立会议总结
  • 原文地址:https://www.cnblogs.com/xwxxh/p/13794148.html
Copyright © 2011-2022 走看看