Eu tenho um script bash que faz alguns trabalhos de banco de dados. partes deste roteiro:
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
.
.
antes de executar isso eu quero saber se as variáveis são colocadas em todas as linhas corretamente. Isso é possível?
por exemplo eu quero algo assim:
BACKUP DATABASE mydb1 TO /dbdata1/mtdb1Backup
/bin/db2 connect to mydb1
BACKUP DATABASE mydb1 TO /dbdata2/mtdb1Backup
/bin/db2 connect to mydb2
depois de verificar se está tudo correto, eu os executo.
Em seu código, você está construindo uma instrução SQL, ou uma lista de instruções SQL, que você dará a um servidor de banco de dados. Em vez de invocar o comando que executaria as instruções no servidor, envie as instruções para o terminal.
Se o seu comando original foi
então você pode substituir isso por
Se o script fizer outras coisas que podem depender da execução desses comandos SQL, insira um
exit
antes que isso aconteça. Você está interessado apenas em ver os comandos SQL que seriam enviados ao servidor de banco de dados.