スクリプトを実行する前に、スクリプトの出力を確認してください。

スクリプトを実行する前に、スクリプトの出力を確認してください。

いくつかのデータベース操作を実行する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コマンドを表示することにのみ興味があります。

おすすめ記事