zoukankan      html  css  js  c++  java
  • shell

    1.获取字符串长度
    ${#string_name}
    例如:
    #!/bin/bash
    str="http://c.biancheng.net/shell/"
    echo ${#str}

    运行结果:
    29

    2.字符串的拼接
    在Shell中你不需要使用任何运算符,将两个字符串并排放在一起就能实现拼接,非常简单粗暴。

    3.从指定位置开始截取
    格式说明
    ${string: start :length}
    从 string 字符串的左边第 start 个字符开始,向右截取 length 个字符。
    ${string: start}
    从 string 字符串的左边第 start 个字符开始截取,直到最后。
    ${string: 0-start :length}
    从 string 字符串的右边第 start 个字符开始,向右截取 length 个字符。
    ${string: 0-start}
    从 string 字符串的右边第 start 个字符开始截取,直到最后。
    ${string#*chars}
    从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。
    ${string##*chars}
    从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。
    ${string%*chars}
    从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。
    ${string%%*chars}
    从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。

    4.Shell数组定义以及获取数组元素
    在 Shell 中,用括号( )来表示数组,数组元素之间用空格来分隔。由此,定义数组的一般形式为:
    array_name=(ele1 ele2 ele3 ... elen)
    注意,赋值号=两边不能有空格,必须紧挨着数组名和数组元素。

    Shell 是弱类型的,它并不要求所有数组元素的类型必须相同,例如:
    arr=(20 56 "http://c.biancheng.net/shell/")

    Shell 数组的长度不是固定的,定义之后还可以增加元素。

    获取数组元素
    获取数组元素的值,一般使用下面的格式:
    ${array_name[index]}

    其中,array_name 是数组名,index 是下标。
    例如:
    n=${nums[2]}
    表示获取 nums 数组的第二个元素,然后赋值给变量 n。
    再如:
    echo ${nums[3]}
    表示输出 nums 数组的第 3 个元素。

    使用@或*可以获取数组中的所有元素,例如:
    ${nums[*]}
    ${nums[@]}

    拼接数组
    利用@或*,可以将数组扩展成列表,然后使用#来获取数组元素的个数,格式如下:
    ${#array_name[@]}
    ${#array_name[*]}
    其中 array_name 表示数组名。两种形式是等价的,选择其一即可。
    拼接数组的思路是:先利用@或*,将数组扩展成列表,然后再合并到一起。具体格式如下:
    array_new=(${array1[@]} ${array2[@]})
    array_new=(${array1[*]} ${array2[*]})
    两种方式是等价的,选择其一即可。其中,array1 和 array2 是需要拼接的数组,array_new 是拼接后形成的新数组。

    删除数组元素
    在 Shell 中,使用 unset 关键字来删除数组元素,具体格式如下:
    unset array_name[index]
    其中,array_name 表示数组名,index 表示数组下标。
    如果不写下标,而是写成下面的形式:
    unset array_name
    那么就是删除整个数组,所有元素都会消失。

  • 相关阅读:
    Python学习之路
    like's photos
    Django---子框架drf内容总结
    Django---子框架drf项目---路飞学城---前后端搭建
    Django---drf,JWT补充、基于就角色的权限控制(django内置auth体系)
    常见三种加密(MD5、非对称加密,对称加密)
    Django---drf,自定制频率、自动生成文档、JWT
    PEP8 常用规范
    Class meta
    Django---drf, books系列表接口、分页器、根据ip进行频率限制---作业
  • 原文地址:https://www.cnblogs.com/WebLinuxStudy/p/11391203.html
Copyright © 2011-2022 走看看