#!/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之间的语句才会执行,表达式为假时,结束循环(即条件成立就一直执行循环)