Bash에서 구문 확인

Naila Saad Siddiqui 2024년2월15일
  1. 온라인 ShellCheck 편집기 사용
  2. bash -n(noexec 모드) 명령 사용
  3. sh 명령 사용
Bash에서 구문 확인

이 문서에서는 스크립트를 실행하지 않고 Bash 스크립트에서 구문 문제를 확인하는 방법에 대해 설명합니다.

구문 오류는 코드의 일부 문법 또는 오타 오류로 인해 발생합니다. 다른 프로그래밍 언어의 최신 컴파일러에서는 프로그램을 실행하기 전에도 컴파일러에서 이러한 오류를 강조 표시합니다.

Bash는 명령줄 인터프리터이기 때문에 Bash 스크립트에서는 그렇지 않습니다. 따라서 구문 오류를 별도로 확인해야 합니다.

아래와 같이 구문 문제를 확인하는 다양한 기술이 있을 수 있습니다.

온라인 ShellCheck 편집기 사용

구문 오류가 있는지 스크립트를 확인하는 온라인 도구인 Shell Check가 있습니다. 도구는 여기에서 찾을 수 있습니다.

쉘 검사

위 이미지에는 두 개의 별도 창이 있습니다. 하나는 코드 편집기이고 하단에는 줄 번호를 지정하여 코드의 오류 및 경고 목록이 표시됩니다.

ShellCheck 편집기는 코드를 실행하기 전에 사소한 문제에서 고급 문제까지 감지하기 때문에 초보자와 전문 프로그래머에게 매우 유용한 도구입니다.

bash -n(noexec 모드) 명령 사용

bash 명령과 함께 -n 플래그(noexec)를 사용하여 스크립트의 오류를 확인할 수도 있습니다.

bash -n [script-name]

이것은 스크립트의 모든 명령을 읽고 실행하지 않고 오류를 확인합니다. 명령에 오류가 있으면 이를 표시합니다. 그렇지 않으면 출력이 표시되지 않습니다.

예를 들어 다음 스크립트를 고려하십시오.

샘플 스크립트

우리는 if 문(즉, if 대신 fi 사용)의 종결을 놓쳤다는 점에 유의하십시오. 따라서 오류가 발생합니다.

bash -n 명령으로 표시되는 오류

sh 명령 사용

구문 오류를 확인하는 또 다른 명령은 다음과 같습니다.

sh -n [script-name]

이전 섹션에서 설명한 것과 동일한 스크립트에 대해 명령을 실행하고 오류를 확인합니다.

sh 명령으로 표시되는 오류