Shell循环遍历每个元素都是变量的数组

时间:2022-12-15 11:27:48


     Shell中经常也需要像其他语言一样,封装一堆变量,然后循环遍历。实现方式可以通过将用双引号括起来的变量放入数组然后进行循环。具体如下小脚本所示。

#! /bin/bash
# Author : 蛙鳜鸡鹳狸猿
# create : 2016年 12月 13日 星期二 04:24:44 CST
# program : show how to loop an array of variables
# crontab : NULL
#
#
# __init__
host=11.…….…….11
user=root
pswd=123
#
#
# variable list
sql_cre='CREATE TABLE tb……;'
sql_ins='INSERT INTO tb……;'
sql_upd='UPDATE tb SET ……;'
#
#
# define execute sql function
function sqlrun(){
mysql -h${host} -u${user} -p${pswd} <<EOF
$1
EOF
}
#
#
# man variable array
sql_array=("${sql_cre}" "${sql_ins}" "${sql_upd}")
for (( i=0; i<${#sql_array[@]}; i++ ))
do
sqlrun "${sql_array[${i}]}"
done
#

     这里假设有一堆变量要执行,如示例的variable list,是一堆SQL,然后将其用双引号括起来,表示变量解释,最后放到一个for循环就OK了!