【发布时间】:2020-08-17 00:21:16
【问题描述】:
我正在从 databse.prop 文件中读取数据库属性,下面是代码。
....
for (( i=1;i<=$Dbcount;i++ ))
do
echo "$DBCONNECTIONNAME_${i}"
sqlplus -S ${user1}@$DBconnection_${i}/${Password} <<EOF &
spool sqlcsvdb_"$i".csv
@squery.sql $para1 $para2
exit
EOF
done
属性文件。 ....
DBcount=2
user1=user
Password=password
DBconnection1=Connection1
DBconnection2=Connection2
..... 我将 $DBconection_$i 变量输出为 1、2 为循环,并将错误消息作为错误替换,请帮助我。
【问题讨论】:
-
这看起来像是一个数组的工作(或者可能是间接扩展,但数组可能更好)。这可能是"Is it possible to build variable names from other variables in bash?" 的副本(它被标记为"Dynamic variable names in Bash" 的副本,但您不需要关联数组)。另请参阅BashFAQ #006。
-
... 如果后缀是流水号,更好的解决方案是简单地使用数组。 Bash 5+ 也有关联数组。
标签: bash shell unix oracle-sqldeveloper