我有一个执行一些数据库作业的 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 语句列表,您将提供给数据库服务器。不是调用将在服务器上执行语句的命令,而是将语句输出到终端。
如果您的原始命令是
那么您可以将其替换为
如果脚本随后继续执行可能依赖于这些 SQL 命令执行的其他事情,则在此
exit
之前插入一个。您只对查看已发送到数据库服务器的 SQL 命令感兴趣。