본문 바로가기

bash6

[bash] script debugging bash script 를 debugging 하는 방법을 설명한다. echo 를 넣어서 디버깅을 할 수도 있지만, 비효율적이다. set -o 옵션을 사용하면 echo 보다 나은 디버깅 기능을 사용할 수 있다. set 옵션 set 옵션은 -o 로 켜고, +o 로 기능을 끈다. 즉 verbose 모드를 on 시킬 경우, set -o verbose, off 시킬 경우 set +o verbose 명령을 사용한다. bash 를 직접 실행할 때, set 옵션을 준 것과 동일한 옵션을 주어 실행할 수 있다. 즉 xtrace 옵션을 사용하고 싶다면, set -o xtrace 라고 주어도 되고, bash -x 이라고 주어도 된다. 아래 표를 참조한다. set -o 옵션 명령행 옵션 동작 noexec -n 명령을 실행하지 .. 2013. 10. 11.
[bash] 5th - Trap Statement 참고: http://bash.cyberciti.biz/guide/Trap_statement Trap Satement Trap 명령을 한줄로 요약한다면, 스크립트 또는 쉘이 인터럽트를 가로채서 스크립트내에서 어떤 작업을 할 수 있도록 하는 기능을 제공한다. 스크립트를 실행중에 사용자가 Break 또는 Ctrl-C 를 눌러서 프로세스를 끝내거나, Ctrl-Z 를 눌러서 프로세스를 중단시킬 수 있다. 또한 수학적인 overflow 같은 쉘 스크립트 버그로 인하여 에러가 발생할 수도 있다. 위에서 얘기된 Ctrl-C 등의 작업이나 에러등은 시스템적인 관점에서 볼 때, 적절한 시그널을 발생시켜서 처리하게 되어있다. 하지만 이러한 시그널이 어느 시점에 발생하는지 예측할 수 없기 때문에, 예상치 못한 결과나 에러를 .. 2013. 8. 1.
[bash] 4th - 명령행 옵션과 유형 변수 우선, 옵션의 위치변수를 바꿔주는 명령인 shift 에 대해서 알아보자 # shift - shift positional parameters DESCRIPTION 위치 매개변수 1이 n+1 매개변수 2는 n+2 등등으로 값이 재정의 된다. $# 에서 $#-n+1 로 변경되는 쉘 매개변수 개수를 나타내는 변수는 unset 되고 새로운 위치변수의 개수로 업데이트 된다. n 은 특수매개변수 # 값보다 작은 unsigned 10진수이다. n 이 주어지지 않으면 기본적으로 n 값은 1 이된다. n 값이 0 이면 변하는 것이 없다. # getopts 우선 getopts 는 두 개의 인자가 필요하다, 첫째는 문자와 ":" 이 포함된 문자열이고, 각각의 문자는 스크립트 실행시 적용이 가능한 옵션이 된다. 또한 ":" 이.. 2012. 9. 26.
[bash] 3rd - 흐름제어 ## if 문 문법: if condition then statements [elif condition then statements ...] [else statements] fi condition 은 기존 프로그래밍 언어와 달리 명령의 종료상태를 나타낼 수 있다.즉 if condition 은 if command ran successfully 로 바꿔 말 할 수 있다. condition 에 해당하는 statements 가 성공적으로 수행되면 then 이하의 statements 를 수행하고, 그렇지 않은 경우 else 문으로 넘어간다.이러한 종료코드는 명령을 수행할 때마다 새로 세팅된다. 해당 명령의 종료코드를 알기위해서는 특수 셀 변수인 ? 를 사용한다. 즉 $? 이 이전 명령의 종료코드를 담고 있게 된다... 2012. 8. 27.