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

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

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

관련 정보