动态变量、数组传参、for循环、函数小记
2020-07-10 本文已影响0人
Ice_King
数组传参:
(原文参照)
#!/bin/bash
function showArr(){
arr=$1
for i in ${arr[*]}; do
echo $i
done
}
regions=("GZ" "SH" "BJ")
showArr "${regions[*]}"
exit 0
注:
要把参数写成 “${regions[*]}” 才可以作为数组传递。
双引号引起来,格式用 * (不要用 @ ),这个细节困扰了好一会儿。
固定符号分隔的字符串转数组
参考原文
1.空格分隔的直接用 (string) 括起来
2.按“T”分隔
arr=(${apps//T/ })
- 按“,”分隔
arr2=(${apps2//,/ })
shell动态数组变量
A={'B' 'C'}
B_1={1 2}
C_1={'a' 'b'}
for index in ${A[@]}; do
tmp_arr_name=${index}_1[@]
for val in ${!tmp_arr_name}; do
echo $val
done
done