스크립트를 실행하기 전에 스크립트의 출력을 확인하세요.

스크립트를 실행하기 전에 스크립트의 출력을 확인하세요.

일부 데이터베이스 작업을 수행하는 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 명령을 보는 데에만 관심이 있습니다.

관련 정보