본문 바로가기
반응형

프로그래밍/Linux19

[Linux] 쉘 스크립트(Shell script) 6편 - shellcheck(쉘체크) shellcheck는 쉘 스크립트에 대한 정적 분석 도구로, 스크립트의 문제점이나 개선할 수 있는 부분을 찾아줍니다. Bash, sh, dash, ksh 스크립트를 지원하며, 작성 중인 쉘 스크립트의 품질을 향상시키고, 버그, 일반적인 실수 또는 사용하지 않는 코드를 발견하는 데 유용합니다. shellcheck의 주요 기능: 문법 오류: 일반적인 문법 오류나 타이포를 감지합니다. 미사용 변수: 스크립트 내에서 선언되었지만 사용되지 않는 변수를 찾아줍니다. 코드 품질: 코드에서 개선할 수 있는 부분이나 더 나은 방법을 제안합니다. 보안: 안전하지 않은 코드 또는 취약한 패턴을 감지하고 권장 사항을 제공합니다. 1. 설치하기 대부분의 패키지 관리자를 통해 shellcheck를 설치할 수 있습니다. sudo .. 2023. 8. 31.
[Linux] 쉘 스크립트(Shell script) 5편 - 트랩(trap) 사용하기, 에러 옵션(set -e, set -o) 트랩(trap) 사용하기 trap 명령어는 시그널을 잡아내어 해당 시그널을 받았을 때 실행할 명령이나 작업을 정의할 수 있게 해줍니다. 즉, 특정 상황(예: 스크립트 종료, 오류 발생 등)에서 원하는 명령을 실행하도록 설정하는 도구입니다. 스크립트가 비정상적으로 종료될 때나 특정 시그널을 받을 때 정리 작업이나 로깅 작업 등을 수행하고자 할 때 유용하게 사용될 수 있습니다. 기본 구조: trap 'commands' signals 예시 1: 정리 작업을 위한 trap 아래의 스크립트는 일부 작업을 수행한 후 종료될 때 정리 작업을 수행합니다. #!/bin/bash # 정리 작업을 위한 함수 정의 cleanup() { echo "Cleaning up temporary files..." rm -f /tmp/m.. 2023. 8. 31.
[Linux] 쉘 스크립트(Shell script) 4편 - 디버그 모드, 에러메시지 출력 1. 디버그 모드 (-x 옵션) 사용하기 쉘 스크립트 디버깅은 스크립트가 예상대로 동작하지 않을 때 문제의 원인을 찾아 수정하는 과정입니다. 쉘 스크립트 디버깅은 다른 프로그래밍 언어에서의 디버깅과는 약간 다르게 진행될 수 있습니다. 여기에는 쉘 스크립트 디버깅에 사용되는 몇 가지 기본적인 기술들을 나열해보겠습니다: 방법 1: 스크립트 실행 시 -x 옵션 사용 스크립트(sample_script.sh)를 작성하겠습니다. #!/bin/bash echo "Starting the script..." MY_VARIABLE="Hello, World" echo $MY_VARIABLE 이후 아래 코드를 작성하면 디버깅한 결과가 모두 출력됩니다. bash -x yourscript.sh + echo 'Starting th.. 2023. 8. 31.
[Linux] 쉘 스크립트(Shell script) 3편 - 배경 작업 및 작업 제어 리눅스와 다른 유닉스 기반 시스템에서는 프로세스를 포그라운드 또는 백그라운드에서 실행할 수 있습니다. 이 기능은 여러 작업을 동시에 수행할 때 유용하며, 사용자가 쉘 세션을 유지하면서 다른 작업을 실행하게 해줍니다. 배경 작업 실행 &를 사용하여 명령어나 스크립트를 백그라운드에서 실행할 수 있습니다. 먼저 10분 동안 동작하는 간단한 예제를 만들어보겠습니다. 이를 위해 sleep 명령어를 사용하겠습니다. #!/bin/bash echo "백그라운드 작업 시작." # 600초 동안 대기합니다. (10분) sleep 600 echo "백그라운드 작업 종료." 이 스크립트는 실행되면 "백그라운드 작업 시작."이라는 메시지를 출력하고, 10분 동안 대기한 후 "백그라운드 작업 종료."라는 메시지를 출력합니다. 스.. 2023. 8. 31.
반응형