码迷,mamicode.com
首页 > 系统相关 > 详细

shell

时间:2019-08-21 21:29:31      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:元素   数组名   指定位置   思路   之间   方式   关键字   取数   string   

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
那么就是删除整个数组,所有元素都会消失。

 

shell

标签:元素   数组名   指定位置   思路   之间   方式   关键字   取数   string   

原文地址:https://www.cnblogs.com/WebLinuxStudy/p/11391203.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!