• 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

  • 相关阅读:
    ThinkPHP 3 的CURD管理用户信息 修改和删除
    检测一个字符串是否为一个有效的编码格式字符串
    将Buffer对象结合创建为一个新的Buffer对象
    Buffer.byteLength(字符串,编码方式)计算指定字符串的字节数
    TypeError: Buffer.allocUnsafe is not a function
    多个haproxy 之间跳转
    TypeError: Identifier 'assert' has already been declared
    14.5.7 Storing InnoDB Undo Logs in Separate Tablespaces 存储InnoDB Undo logs 到单独的表空间
    14.5.5 Creating a File-Per-Table Tablespace Outside the Data Directory
    php session 管理
  • 原文地址:https://www.cnblogs.com/xwxxh/p/13794148.html
Copyright © 2020-2023  润新知