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 那么就是删除整个数组,所有元素都会消失。
? (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|