shell之列表的定义与循环

字符串列表定义方法1:html

a=(f1 f2 f3 f4)
for i in ${a[*]}#遍历每个列表值数组

for i in ${a[@]}#等价与上一句bash

 

实例:spa

#!bin/bash
a=(f1 f2 f3 f4)
for i in ${a[*]}; do
echo ”$i“
if [ "$i" == "f1" ]; then#判断字符串是否相等,注意先后要有空格,不然变为赋值语句
echo ”f1 finded“
else
echo "NOTFOUND"
fi
done.net

字符串列表定义方法2:code

a[1]=f1
a[2]= f2
a[3]= f3
a[4]= f4htm

实例2:ci

#!bin/bash
a[1]=f1
a[2]=f2
a[3]=f3
a[4]=f4
for i in ${a[*]}; do
echo ”$i“
if [ "$i" == "f1" ]; then
echo ”f1 finded“
else
echo "NOTFOUND"
fi
done字符串

每一个列表元素的get

echo "${a[2]}"
#!bin/bash
a[1]=f1
a[2]=f2
a[3]=f3
a[4]=f4
echo "${a[1]}"
echo "${a[2]}"

 

1 获取下标为n的元素:

?
1
variable[n]

并且不存在数组下标溢出的状况,若是 n>= 数组的长度,那么为空,不会报错。

2 获取数组长度

?
1
${#variable[@]}

或者

?
1
${#variable[*]}

那么如何用for遍历呢?一共有两种方式:

直接遍历每个值

1 for i in ${variable[@]}; do

?
1
2
# do something....
done

2遍历每个值的下标

for i in $(seq 0 ${#variable[@]}); do

?
1
2
3
e=${variable[$i]}
  # do something....
done

以上两种方法 把 @ 换成 * 也行。

相关文章
相关标签/搜索