Bash 스크립트에서 종료

Muhammad Husnain 2023년6월20일
  1. Bash 스크립트란?
  2. Bash 스크립트 사용을 피해야 하는 경우(즉, 제한 사항)
  3. 스크립트를 종료하는 방법
Bash 스크립트에서 종료

이 문서에서는 Bash 스크립팅을 간략하게 소개하고 일부 오류가 발생한 경우 Bash 스크립트를 종료하는 방법에 대해 설명합니다. Bash 스크립팅의 제한 사항과 이점에 대해 자세히 설명합니다.

Bash 스크립트란?

컴퓨터 스크립트/프로그램은 컴퓨터에게 해야 할 일과 말을 알려줍니다. 마찬가지로 Bash 스크립트는 수행할 작업에 대해 Bash를 안내하는 일련의 명령입니다.

Bash 스크립트는 실행할 명령 집합이 포함된 간단한 텍스트 파일입니다. 이 명령 세트는 Bash 인터페이스에서 직접 작성할 수 있는 많은 명령줄 명령의 순서화된 조합일 수 있습니다(예: ls, cd, rm 등).

명령줄 프롬프트에서 실행되는 모든 명령을 스크립트에 입력할 수도 있으며 명령줄 프롬프트에서와 동일한 결과를 얻을 수 있습니다. 마찬가지로 스크립트 파일의 각 명령을 Bash 명령줄 인터페이스에 직접 입력할 수도 있으며 결과는 동일합니다.

추가 조정이 필요하지 않습니다. 구문에 따라 명령을 입력하기만 하면 동일한 결과가 나타납니다.

명령줄에 입력하는 대신 간단한 텍스트 파일에 입력합니다.

확장자 .sh는 일반적으로 Bash 프로그램(예: loopScript.sh)에서 사용됩니다. 아시다시피 Linux는 확장이 필요 없는 운영 체제입니다. 따라서 스크립트가 제대로 작동하기 위해 확장이 필수는 아닙니다.

첫 번째 실행 가능한 Bash 스크립트 파일 생성에 대한 자세한 내용은 여기에서 찾을 수 있습니다.

Bash 스크립트 사용을 피해야 하는 경우(즉, 제한 사항)

Bash 스크립팅을 피해야 하는 특정한 경우가 있습니다. 그들 중 일부는 다음과 같습니다.

  1. 특히 속도가 중요할 때 많은 리소스가 필요한 작업(정렬 함수, 해시 함수, 재귀 함수 등)
  2. 부동 소수점 산술과 같이 수학 연산이 많이 필요한 함수 또는 계산에 복소수를 사용하는 함수(대신 C++ 또는 FORTRAN 사용). 다른 플랫폼 간에 이식 가능한 응용 프로그램을 만들 때는 C 또는 Java를 사용해야 합니다.
  3. 복잡한 애플리케이션에는 구조화된 프로그래밍이 필요합니다.
  4. 회사의 미래를 건 비즈니스 크리티컬 프로그램.
  5. 시스템의 무결성을 보장하고 침입, 크래킹 또는 손상으로부터 보호해야 하는 경우와 같이 보안이 중요한 상황.
  6. 프로젝트는 상호 연결된 하위 구성 요소로 구성됩니다.
  7. 대규모 파일 활동이 필요합니다. (Bash는 줄 단위로만 직렬 파일에 액세스할 수 있습니다.)
  8. 다차원 배열에는 기본 지원이 필요합니다.
  9. 큐 또는 그래프와 같은 데이터 구조가 필요합니다.
  10. 비주얼 또는 그래픽 사용자 인터페이스를 생성하거나 관리해야 합니다.
  11. 하드웨어 또는 외부 주변 장치와의 상호 작용이 필요합니다.
  12. I/O 포트 또는 소켓이 필요합니다.
  13. 내장 라이브러리 또는 오래된 레거시 코드를 사용해야 합니다.
  14. 비공개 소스, 독점 애플리케이션

스크립트를 종료하는 방법

일부 코드를 테스트하기 위해 스크립트를 작성했고 코드가 실패할 경우 스크립트를 종료해야 하는 경우가 있습니다. 그런 다음 스크립트에서 exit 명령을 사용할 수 있습니다. 스크립트는 C 프로그램과 마찬가지로 exit 명령으로 종료됩니다.

exit 명령은 프로세스 간 통신에도 사용할 수 있습니다(즉, exit 명령에 전달된 인수는 스크립트의 상위 프로세스로 반환됨).

모든 명령은 성공 또는 실패 상태(반환 상태 또는 종료 코드)를 생성합니다. 성공적인 명령은 0을 반환합니다. 실패한 명령은 일반적으로 오류 코드로 이해되는 0이 아닌 값을 생성합니다.

성공적으로 완료되면 올바르게 작동하는 대부분의 UNIX 명령, 프로그램 및 유틸리티는 0 종료 코드를 반환하지만 몇 가지 예외도 있습니다.

스크립트의 함수와 스크립트 자체는 모두 종료 상태를 반환합니다. 종료 상태는 함수 또는 스크립트의 마지막 명령에 의해 결정됩니다.

exit 명령의 구문은 다음과 같습니다.

exit nn

exit nn 명령을 스크립트 내에서 사용하여 쉘에 nn 종료 상태를 제공할 수 있습니다(nn은 0 - 255 범위의 정수여야 함). 종료 상태는 스크립트에서 실행된 마지막 명령이 매개변수가 없는 종료(exit 이전)로 종료될 때의 종료 상태입니다.

예:

#!/bin/bash

FIRST COMMAND
..
..
LAST COMMAND
# It will exit the script with the status of the last command.
exit

exit, exit $? 또는 exit를 생략하는 것은 모두 같은 의미를 갖습니다: 마지막 명령의 상태로 종료합니다. 스크립트가 종료된 후 echo $? 명령을 사용하여 상태를 확인할 수 있습니다.

특정 종료 코드에는 일부 예약된 의미가 있으며 사용자가 정의하면 안 됩니다. 이러한 코드와 의미는 다음과 같습니다.

종료 코드 설명
1 모든 일반 오류 포착
2 내장 쉘 기능이 오용되는 경우
126 호출된 명령을 실행할 수 없습니다.
127 호출된 명령을 찾을 수 없습니다.
128 잘못된 인수가 전달됨
130 스크립트는 Ctrl+C 키보드 키를 사용하여 종료됩니다.
255* 범위를 벗어난 종료 상태
Muhammad Husnain avatar Muhammad Husnain avatar

Husnain is a professional Software Engineer and a researcher who loves to learn, build, write, and teach. Having worked various jobs in the IT industry, he especially enjoys finding ways to express complex ideas in simple ways through his content. In his free time, Husnain unwinds by thinking about tech fiction to solve problems around him.

LinkedIn

관련 문장 - Bash Exit