我有一个执行某些数据库作业的bash脚本。该脚本的一部分:
DBNAME_ARRAY=( mydb1 mydb2 )
DB2PATH=/bin/db2
BACKUPLOGPATH=/data1/`date +%y-%m-%d`_BACKUP.out
IP=170.10.20.11
.
.
for DBNAME in "${DBNAME_ARRAY[@]}"
do
BACKUPSQL="BACKUP DATABASE $DBNAME TO /dbdata1/${DBNAME,,}Backup"
$DB2PATH connect to $DBNAME
.
.
在执行此操作之前,我想知道变量是否正确放置在每一行中。这可能吗?
例如我想要这样的事情:
BACKUP DATABASE mydb1 TO /dbdata1/mtdb1Backup
/bin/db2 connect to mydb1
BACKUP DATABASE mydb1 TO /dbdata2/mtdb1Backup
/bin/db2 connect to mydb2
在我检查一切正确之后,我运行它们。
在代码中,您正在构造要提供给数据库服务器的SQL语句或SQL语句列表。而不是调用将在服务器上执行语句的命令,而是将语句输出到终端。
如果您原来的命令是
some_db_command "$backupsql"
那么您可以将其替换为
printf '%s\n' "$backupsql"
如果脚本随后继续执行其他操作,这些操作可能取决于这些SQL命令的执行,则在此exit
之前插入一个。您只希望查看将发送到数据库服务器的SQL命令。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句