[cmd_test@btjeon-naver ~]$ vi trouble.sh
-------------------------------------------------------------------------------------------
#!/bin/bash -x
# trouble: script to demonstrate common erros
number=1
if [ $number = 1 ]; then
echo "Number is equal to 1."
else
echo "Number is not equal to 1."
fi
-------------------------------------------------------------------------------------------
[cmd_test@btjeon-naver ~]$ ./trouble.sh
+ number=1
+ '[' 1 = 1 ']'
+ echo 'Number is equal to 1.'
Number is equal to 1.
bash의 -x 옵션으로 트레이싱(tracing)을 활성화할 수 있다.
+ 기호는 트레이스 출력의 기본 문자다. 그것은 PS4(프롬프트 문자열 4) 쉘 변수에 포함된다.
[cmd_test@btjeon-naver ~]$ export PS4='$LINENO + '
[cmd_test@btjeon-naver ~]$ ./trouble.sh
5 + number=1
7 + '[' 1 = 1 ']'
8 + echo 'Number is equal to 1.'
Number is equal to 1.
트레이스가 실행되는 곳의 행 번호를 포함하기 위해 PS4 수정 후 실행
[cmd_test@btjeon-naver ~]$ vi trouble.sh
-------------------------------------------------------------------------------------------
#!/bin/bash -x
# trouble: script to demonstrate common erros
number=1
set -x # Turn on tracing
if [ $number = 1 ]; then
echo "Number is equal to 1."
else
echo "Number is not equal to 1."
fi
set +x # Turn off tracing
-------------------------------------------------------------------------------------------
set 명령어의 -x 옵션으로도 트레이싱(tracing)을 활성화할 수 있다.
출처 : 리눅스 커맨드라인 완벽 입문서
'IT일반 > Linux' 카테고리의 다른 글
Command Line - 위치 매개변수 (0) | 2022.06.08 |
---|---|
Command Line - 흐름 제어 : Case 분기 (0) | 2022.06.07 |
Command Line - 흐름 제어 : While 루프와 Until 루프 (0) | 2022.06.06 |
Command Line - 키보드 입력 읽기 (0) | 2022.06.06 |
Command Line - 흐름 제어 : if 분기 (0) | 2022.06.03 |