#!/bin/bashmy_arry=$(seq 1 10)for i in ${my_arry[@]};# {my_arry[@]}是数组的表达形式do echo $idone这个可以用在当你的表达式只有最后的数字不一样时使用。
因工作需要,需要使用 shell 开发一些小工具,当使用 数组 作为 函数 参数时,发现只能传递 数组 的第一个元素, 数组 后面的元素不能传递到 函数 内。 #!/bin/bash function showArr(){ arr=$1 for i in ${arr[*]}; do echo $i regions=(GZ SH BJ) showArr $regions exit 0 把代码保存为test.sh后执行,只 输出 了第一个元素。 ./test.sh $1表示获取 函数 的第一个参数,而 函数 的第一个参数就是regions 数组 ,这样就奇怪了,为什么只能获取到数
# $1 如果存在, 输出 $1 exists,$1 如果不存在, 输出 $1 not exists if [ $1 != null ];then if [[ ${array[@]} =~ ${1} ]]; then echo $1 exists elif [[ ! ${array[@]} =~ ${1} ]]; then echo $1 not exists 通过read命令每次读取一行文件,文件内容有多少行,while循环多少次 注意:只有表达式为真,do和done之间的语句才会执行,表达式为假时,结束循环(即条件成立就一直执行循环)