bash中字符串和数组的遍历

来源:互联网 发布:东海村核临界事故知乎 编辑:程序博客网 时间:2024/05/21 09:39

让我们看如下的bash script

A="china fengxi zhongguo"echo "echo varialbe A directly:" $Aecho ""echo "loop string"for i in $A;do    echo $idoneA=("china" "fengxi" "zhongguo")echo "echo array directly:" $Aecho ""echo "loop array"for i in ${A[@]};do    echo $idone
输入出为:

echo varialbe A directly: china fengxi zhongguoloop stringchinafengxizhongguoecho array directly: chinaloop arraychinafengxizhongguo

求字符串的长度:${#A}

求数组元素的个数:${#A[@]}


分割字符串到数组:

例如,我一个字符串a=192.168.0.1,我想要将其以"."为分隔符,将其分割为一个数组,该数组为(192, 168, 0, 1)。有好多中方法可以实现,这里说一种比较少见,却是很简单的方法:

arr=(${a//./ })

在这里解释一下:上述语句将所有在字符串中出现的"."替换为空格‘ ’,然后将以空格分割的字符串翻译为一个数组(这就是最外层的圆括号的作用)。其中改的//意思是执行全局替换。

在大括号中用的替换'.'字符为' '字符的语法称为参数扩展。

0 0
原创粉丝点击