19일차: 리눅스 스크립트 디버깅 실습







스크립트 디버깅 – 디버깅 실습

스크립트 디버깅 – 디버깅 실습

안녕하세요! 저는 mj입니다. 오늘은 리눅스 스크립트의 디버깅 기법을 사용하여 오류가 있는 스크립트를 수정하는 방법을 배워보겠습니다. 디버깅은 스크립트의 안정성을 높이고, 오류를 빠르게 해결하는 데 중요한 과정입니다. 이 포스팅에서는 다양한 디버깅 기법과 실습을 통해 실제 스크립트에서 오류를 찾아내고 수정하는 방법을 소개하겠습니다.

1. 디버깅의 중요성

스크립트에서 발생하는 오류는 여러 가지 원인으로 인해 발생할 수 있습니다. 잘못된 변수 사용, 파일 경로 오류, 잘못된 조건문 등이 일반적인 오류입니다. 디버깅을 통해 이러한 오류를 찾아 수정함으로써 스크립트의 신뢰성을 높일 수 있습니다.

2. 디버깅 기법

리눅스 스크립트에서 사용할 수 있는 기본적인 디버깅 기법은 다음과 같습니다:

  • echo 명령어 사용: 중간 결과를 출력하여 변수의 값을 확인합니다.
  • set -x: 스크립트의 실행 과정을 출력하여 어떤 명령어가 실행되는지 확인할 수 있습니다.
  • set -e: 오류가 발생하면 즉시 스크립트를 종료합니다.

예제 1: echo 명령어로 디버깅하기

아래 스크립트는 사용자로부터 두 개의 숫자를 입력받아 덧셈을 수행하는 간단한 스크립트입니다. 그러나 오류가 포함되어 있습니다.

#!/bin/bash

read -p "첫 번째 숫자를 입력하세요: " num1
read -p "두 번째 숫자를 입력하세요: " num2

result=$((num1 + num2))
echo "결과는: $result"

위 스크립트를 실행하면 다음과 같은 결과가 출력됩니다:

./script.sh
첫 번째 숫자를 입력하세요: 5
두 번째 숫자를 입력하세요: 10
결과는: 510

이 경우, 문자열로 입력된 숫자들이 결합되고 있습니다. 이를 해결하기 위해 echo 명령어를 사용하여 변수를 출력해볼 수 있습니다:

echo "num1: $num1, num2: $num2"

예제 2: set -x 사용하기

위의 스크립트에 set -x를 추가하여 실행 과정을 출력해보겠습니다.

#!/bin/bash
set -x

read -p "첫 번째 숫자를 입력하세요: " num1
read -p "두 번째 숫자를 입력하세요: " num2

result=$((num1 + num2))
echo "결과는: $result"

스크립트를 실행하면, 각 명령어가 실행될 때마다 출력됩니다:

./script.sh
+ read -p '첫 번째 숫자를 입력하세요: ' num1
+ read -p '두 번째 숫자를 입력하세요: ' num2
+ result=510
+ echo '결과는: 510'
결과는: 510

이 방법을 통해 어떤 명령어에서 오류가 발생했는지 쉽게 확인할 수 있습니다.

3. 조건문 오류 수정 실습

다음은 조건문 오류가 포함된 스크립트입니다. 이 스크립트는 입력받은 숫자가 짝수인지 홀수인지를 판단합니다.

#!/bin/bash

read -p "숫자를 입력하세요: " number

if [ $number % 2 -eq 0 ]; then
    echo "$number는 짝수입니다."
else
    echo "$number는 홀수입니다."
fi

이 스크립트를 실행하면 다음과 같은 오류가 발생합니다:

./script.sh
숫자를 입력하세요: 3
./script.sh: line 5: [: 3: integer expression expected

이 오류는 조건문에서 % 연산자를 사용하는 방법이 잘못되었기 때문입니다. 이를 수정하기 위해 let 명령어를 사용할 수 있습니다:

if [ $(($number % 2)) -eq 0 ]; then

수정된 스크립트

#!/bin/bash

read -p "숫자를 입력하세요: " number

if [ $(($number % 2)) -eq 0 ]; then
    echo "$number는 짝수입니다."
else
    echo "$number는 홀수입니다."
fi

수정된 스크립트를 실행하면 이제 제대로 작동합니다:

./script.sh
숫자를 입력하세요: 3
3는 홀수입니다.

4. 결론

오늘은 리눅스 스크립트의 디버깅 기법을 사용하여 오류가 있는 스크립트를 수정하는 방법을 배웠습니다. 다양한 디버깅 기법을 활용하여 스크립트의 안정성을 높이는 데 도움이 되길 바랍니다. 실습을 통해 직접 경험해보세요!

감사합니다! 다음 포스팅에서 또 만나요!


Leave a Comment