проверьте вывод скрипта перед запуском

проверьте вывод скрипта перед запуском

У меня есть скрипт 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  

после того, как я проверю, что все правильно, я их запущу.

решение1

В вашем коде вы создаете оператор SQL или список операторов SQL, которые вы передадите серверу базы данных. Вместо вызова команды, которая выполнит операторы на сервере, выведите операторы на терминал.

Если ваша первоначальная команда была

some_db_command "$backupsql"

то вы могли бы заменить это на

printf '%s\n' "$backupsql"

Если скрипт затем продолжит делать другие вещи, которые могут зависеть от выполнения этих команд SQL, то вставьте exitперед тем, как это произойдет. Вас интересуют только команды SQL, которые были бы отправлены на сервер базы данных.

Связанный контент