0015. [ debug ] ksh 실행 디버깅 코맨드와 옵션
코맨드 |
기능 |
동작설명 |
ksh -x script |
에코우기능 |
실행되기전에 변수 대체가 된 상태로 스크립트의 각 줄을 출력시켜준다 |
ksh -v script |
verbose옵션 |
실행되기전에 스크립트에 입력된 상태로 각 줄을 출력시켜준다 |
ksh -n script |
noexec옵션 |
스크립트의 각줄을 해석은 해주지만 실행은 시키지 않는다 |
set -x |
echo on |
스크립트 실행 추적한다 |
set -o xtrace |
||
set +x |
echo off |
추적기능을 해제 시킨다 |
typeset -ft |
추적옵션 on |
함수에서의 실행 추적을 한다 |
PS4 |
export PS4=$LINENO PS4 프롬프트의 디폴트 값은 + 기호이다. 프롬프트를 리셋시킬수 있다. 여기서는 줄 번호가 각 줄에 대해서 출력된다 |
|
trap DEBUG |
trap 'print $LINENO' DEBUG 스크립트 각줄에 대한 $LINENO 값을 출력시킨다. 각 스크립트 코맨드마다 트랙 동작이 수행된다 |
|
trap ERR |
trap 'print Bad Input' ERR 0 이 아닌 exit status 값이 되돌려지면 trap 이 실행된다 |
|
trap EXIT |
trap 'print Exiting from $0' EXIT 스크립트나 함수가 종료하면 메시지가 출력된다 |
|
#!/bin/ksh name="horany" if [[ $name = [Hh]* ]] then print Hi $name fi num=1 while (( num < 5 )) do (( num=num+1 )) done print The grand total is $num |
||
#!/bin/ksh trap 'print "num=$num on line $LINENO"' DEBUG num=1 while (( num < 5 )) do (( num = $num + 1 )) done print The grand total is $num |
||
$LINENO 는 현재 스크립트의 줄수를 갖는 특수 Korn Shell 변수이다. |
'IT' 카테고리의 다른 글
0017. [ trap ] trap 함수 호출 예제 (0) | 2015.06.30 |
---|---|
0016. [ coprocess ] 코프로세스 (0) | 2015.06.30 |
0014. [ getopts ] getopts 스크립트 사용법1 (0) | 2015.06.30 |
0013. [ getopts ] getopts 스크립트 사용법2 (0) | 2015.06.30 |
0012. [ getopts ] getopts 스크립트 사용법3 (0) | 2015.06.30 |