这段时间把一些运维和上线的一些命令写成shell,这样执行起来就方便多,不需要再复制粘贴,也减少出错率,
由于之前没写过shell脚本,所以也是边看教程边写。
需要用到循环,于是乎去看看for语法,在看到有for in 的用法,就高高兴兴的拿来用

arr=(1 2 3);
for v in $arr
do
   echo $v;
done

由于用法看起来和其他语言语法没有啥不同,运行时也没报错,所以也就放心用了
所以实际运行起来发现不太对劲,在一个循环输出之后就跳出循环了,百思不得其解,于是尝试换成以下写法

for v in 1 2 3
do
   echo $v;
done

发现是能正常循环出来,所以怀疑是变量的用法不对,于是google了一下,果然,正确是写法是

arr=(1 2 3);
for v in ${arr[*]}
do
  echo $v;
done