Linux 에서 변수가 정의되었는지 확인하는 방법

LinuxBeginner
지금 연습하기

소개

이 랩에서는 Linux 명령줄에서 변수를 다루는 기본적인 기술을 배우게 됩니다. 먼저, 환경 설정 및 기타 저장된 정보를 검사하는 데 필수적인 기술인 echo 명령을 사용하여 변수 값을 표시하는 방법을 익히게 됩니다.

그 다음, 스크립팅에서 조건부 로직에 필수적인 -z 옵션과 함께 test 명령을 사용하여 변수의 존재 여부 또는 비어 있는지 확인하는 방법을 탐구합니다. 마지막으로, env 명령을 사용하여 현재 정의된 모든 환경 변수를 나열하는 방법을 배우게 되며, 셸 환경에 대한 포괄적인 보기를 제공합니다.

echo 로 변수 값 표시

이 단계에서는 echo 명령을 사용하여 변수의 값을 표시하는 방법을 배우게 됩니다. Linux 에서 변수는 셸 및 기타 프로그램에서 액세스하고 사용할 수 있는 정보를 저장하는 데 사용됩니다.

일반적인 유형의 변수는 환경 변수이며, 현재 사용자, 홈 디렉토리 및 터미널 유형과 같은 사용자의 환경에 대한 정보를 저장합니다.

변수의 값을 표시하려면 echo 명령 다음에 달러 기호 ($) 와 변수 이름을 사용합니다. 달러 기호는 셸에게 변수 이름 자체가 아닌 변수의 을 보고 싶다는 것을 알려줍니다.

현재 로그인한 사용자의 이름을 저장하는 USER 환경 변수의 값을 표시해 보겠습니다.

터미널에 다음 명령을 입력하고 Enter 키를 누르세요.

echo $USER

다음과 같은 출력이 표시되어야 합니다.

labex

이는 USER 변수의 값이 labex이며, 이는 LabEx 환경에서 현재 사용자의 사용자 이름임을 보여줍니다.

이제 홈 디렉토리의 경로를 저장하는 HOME 환경 변수의 값을 표시해 보겠습니다.

다음 명령을 입력하고 Enter 키를 누르세요.

echo $HOME

다음과 같은 출력이 표시되어야 합니다.

/home/labex

이는 홈 디렉토리가 /home/labex임을 확인합니다.

현재 사용 중인 셸 프로그램의 경로를 보여주는 SHELL 환경 변수의 값도 표시할 수 있습니다.

다음 명령을 입력하고 Enter 키를 누르세요.

echo $SHELL

다음과 같은 출력이 표시되어야 합니다.

/usr/bin/zsh

이는 현재 zsh 셸을 사용하고 있음을 나타냅니다.

달러 기호와 함께 echo를 사용하는 것은 Linux 터미널에서 변수의 값에 액세스하고 표시하는 기본적인 방법입니다.

test -z 로 변수 존재 여부 테스트

이 단계에서는 -z 옵션과 함께 test 명령을 사용하여 변수가 비어 있는지 또는 설정되지 않았는지 확인하는 방법을 배우게 됩니다. 이는 변수에 값이 있는지 여부에 따라 결정을 내리기 위해 스크립팅에서 유용합니다.

test 명령은 조건식의 평가에 사용됩니다. -z 옵션은 문자열의 길이가 0 인지 확인합니다. 문자열이 비어 있거나 (또는 변수가 설정되지 않은 경우) 테스트는 참입니다.

MY_VARIABLE이라는 변수가 설정되었는지 테스트해 보겠습니다. 먼저, 설정되지 않았는지 확인합니다.

다음 명령을 입력하고 Enter 키를 누르세요.

unset MY_VARIABLE

unset 명령은 변수를 제거합니다. 이제 test -z를 사용하여 MY_VARIABLE이 비어 있는지 확인해 보겠습니다. 결과를 보기 위해 echo와 결합합니다. && 연산자는 첫 번째 명령이 성공하는 경우에만 두 번째 명령을 실행합니다 (참 값을 반환하며, test의 경우 조건이 충족됨을 의미합니다).

다음 명령을 입력하고 Enter 키를 누르세요.

test -z "$MY_VARIABLE" && echo "MY_VARIABLE is empty or not set"

방금 MY_VARIABLE을 해제했으므로 test -z "$MY_VARIABLE" 조건은 참입니다 (변수가 비어 있음). 따라서 echo 명령이 실행됩니다.

다음과 같은 출력이 표시되어야 합니다.

MY_VARIABLE is empty or not set

이제 MY_VARIABLE에 값을 설정해 보겠습니다.

다음 명령을 입력하고 Enter 키를 누르세요.

MY_VARIABLE="Hello"

이제 동일한 test -z 명령을 다시 실행해 보겠습니다.

다음 명령을 입력하고 Enter 키를 누르세요.

test -z "$MY_VARIABLE" && echo "MY_VARIABLE is empty or not set"

이번에는 MY_VARIABLE에 "Hello" 값이 있으므로 비어 있지 않습니다. test -z "$MY_VARIABLE" 조건은 거짓이며, echo 명령은 실행되지 않습니다.

이번에는 echo 명령에서 출력이 표시되지 않아야 합니다.

이는 test -z를 사용하여 변수가 비어 있는지 또는 설정되지 않았는지 확인하는 방법을 보여줍니다. 이는 조건부 로직을 위한 셸 스크립팅에서 사용되는 기본적인 개념입니다.

env 명령어로 모든 환경 변수 목록 보기

이 단계에서는 env 명령을 사용하여 현재 셸 세션에 설정된 모든 환경 변수를 나열하는 방법을 배우게 됩니다.

환경 변수는 셸과 프로그램의 동작 방식에 매우 중요합니다. 환경 변수는 구성 정보, 실행 파일의 경로 및 기타 설정을 저장합니다.

env 명령은 인수가 없이 실행되면 모든 환경 변수와 해당 값을 나열합니다.

터미널에 다음 명령을 입력하고 Enter 키를 누르세요.

env

다음과 유사한 긴 출력 목록이 표시됩니다 (정확한 출력은 시스템 및 구성에 따라 다릅니다).

SHELL=/usr/bin/zsh
COLORTERM=truecolor
...
USER=labex
...
HOME=/home/labex
...
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
...
PWD=/home/labex/project
...

출력의 각 줄은 VARIABLE_NAME=value 형식의 환경 변수를 나타냅니다.

이전 단계에서 살펴본 USER, HOME, SHELL과 같은 일부 변수를 볼 수 있습니다. 또한 셸에 실행 가능한 명령을 어디에서 찾아야 하는지 알려주는 PATH와 현재 작업 디렉토리를 보여주는 PWD와 같은 다른 많은 변수도 볼 수 있습니다.

env 명령은 셸의 환경을 검사하기 위한 간단하지만 강력한 도구입니다. 디버깅하거나 프로그램이 환경에 따라 어떻게 동작하는지 이해하는 데 자주 사용됩니다.

출력이 상당히 길 수 있으므로 env의 출력을 less와 같은 페이저로 파이프하여 한 번에 한 화면씩 볼 수 있습니다.

다음 명령을 입력하고 Enter 키를 누르세요.

env | less

화살표 키를 사용하여 위아래로 스크롤하고 q를 눌러 less를 종료합니다.

이 단계에서는 모든 환경 변수를 나열하는 방법을 소개했습니다. 다음 단계에서는 이러한 변수가 어떻게 사용되고 상호 작용할 수 있는지 자세히 알아보겠습니다.

요약

이 랩에서는 Linux 에서 변수를 사용하는 기본적인 기술을 배웠습니다. USER, HOME, SHELL과 같은 환경 변수의 값을 표시하기 위해 달러 기호 ($) 와 함께 echo 명령을 사용하는 연습을 했으며, 이 명령이 저장된 정보를 어떻게 검색하는지 이해했습니다.

또한 스크립팅에서 조건부 로직에 필수적인 기술인 -z 옵션과 함께 test 명령을 사용하여 변수의 존재 여부 또는 비어 있는지 확인하는 방법을 탐구했습니다. 마지막으로, 셸의 환경에 대한 포괄적인 보기를 제공하는 env 명령을 사용하여 현재 정의된 모든 환경 변수를 나열하는 방법을 배웠습니다.