comprobar la salida de un script antes de ejecutarlo

comprobar la salida de un script antes de ejecutarlo

Tengo un script bash que realiza algunos trabajos de base de datos. partes de este guión:

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 ejecutar esto, quiero saber si las variables están colocadas correctamente en cada línea. ¿es posible?
por ejemplo quiero algo como esto:

  BACKUP DATABASE mydb1 TO /dbdata1/mtdb1Backup
  /bin/db2 connect to mydb1 
  BACKUP DATABASE mydb1 TO /dbdata2/mtdb1Backup
  /bin/db2 connect to mydb2  

después de comprobar que todo está correcto los ejecuto.

Respuesta1

En su código, está construyendo una declaración SQL, o una lista de declaraciones SQL, que le entregará a un servidor de base de datos. En lugar de invocar el comando que ejecutaría las declaraciones en el servidor, envíe las declaraciones a la terminal.

Si su comando original era

some_db_command "$backupsql"

entonces podrías reemplazar esto por

printf '%s\n' "$backupsql"

Si el script continúa haciendo otras cosas que pueden depender de la ejecución de esos comandos SQL, inserte un exitantes de que eso suceda. Sólo le interesa ver los comandos SQL que se habrían enviado al servidor de la base de datos.

información relacionada