알아야 할 6가지 유용한 Bash 셸 변수
쉘 변수는 모든 Linux 시스템의 원활한 실행에 중요합니다. 예를 들어 프로그램이나 명령을 실행할 때마다 시스템은 프로그램이 있는지 확인하기 위해 PATH 변수를 찾습니다. 셸 변수에 대한 지식은 Linux 시스템을 일상적으로 사용하거나 관리하는 데 중요합니다.
쉘 변수의 중요성
쉘 변수는 Linux 시스템, 프로그램 또는 스크립트에서 사용하는 정보를 저장하기 위한 자리 표시자입니다.
Linux에는 다양한 유형의 셸 또는 명령줄 인터프리터가 있으며 모두 변수를 광범위하게 사용합니다. 쉘 변수가 수행하는 몇 가지 중요한 역할은 다음과 같습니다.
- 셸 변수를 사용하면 셸에 값을 저장하고 조작할 수 있으며 계산 또는 기타 작업에서 결과를 조작할 수 있습니다.
- 스크립트와 프로그램 간에 값을 전달하는 방법을 제공합니다.
- 쉘 변수를 사용하여 프로그램의 동작을 사용자 정의할 수 있습니다.
쉘 변수는 매우 유연합니다. 사용자 지정 변수도 만들 수 있지만 다음은 시스템과 함께 제공되는 일부 기본 변수입니다.
1. 경로
PATH 변수는 터미널에 명령을 입력할 때 시스템이 실행 파일을 검색해야 하는 디렉토리를 지정합니다.
시스템 전체 환경 변수이며 콜론으로 구분된 디렉토리 목록으로 구성됩니다. 각 디렉토리는 입력한 명령과 동일한 이름을 가진 실행 파일을 차례로 검색합니다.
예를 들어 터미널에 ls 명령을 입력하면 시스템은 ls 명령에 대해 PATH 변수에 지정된 디렉토리를 검색합니다 . 파일을 찾으면 실행합니다. 그렇지 않은 경우 “명령을 찾을 수 없음” 오류 메시지가 표시됩니다.
PATH 변수는 실행 파일의 전체 경로를 지정하지 않고도 모든 디렉토리에서 명령을 실행할 수 있기 때문에 중요합니다. 예를 들어, /usr/bin 디렉토리에 “ls” 실행 파일이 있는 경우 전체 경로(예: /usr/bin/ls )를 지정하는 대신 단순히 ls 를 입력하여 모든 디렉토리에서 ls 명령을 실행할 수 있습니다 .
다음과 같이 echo 명령을 실행하여 PATH 변수의 현재 값을 볼 수 있습니다.
echo $PATH
목록에서 디렉토리를 추가하거나 제거하여 PATH 변수의 값을 수정할 수도 있습니다. 이것은 자신의 실행 파일이나 사용자 지정 스크립트가 포함된 디렉터리를 추가하려는 경우 또는 명령을 실행할 때 검색되는 디렉터리를 수정하려는 경우에 유용할 수 있습니다.
2. 홈
Linux에서 HOME 변수는 사용자의 홈 디렉토리 경로를 지정하는 환경 변수입니다. 이것이 왜 그렇게 중요한가요? 음, Linux는 다중 사용자 OS이고 홈 폴더는 각 사용자와 연결된 시스템의 특수 디렉토리입니다.
홈 디렉토리는 일반적으로 문서, 사진, 음악 등과 같은 사용자의 개인 파일을 저장하는 데 사용됩니다.
HOME 변수는 일반적으로 로그인할 때 자동으로 설정되며 많은 프로그램과 스크립트에서 사용자의 홈 디렉토리를 찾는 데 사용됩니다. 예를 들어 인수 없이 cd 명령을 실행하면 HOME 변수를 사용하여 사용자의 홈 디렉토리로 이동합니다.
많은 프로그램은 HOME 변수를 사용하여 구성 파일이나 기타 데이터를 사용자의 홈 디렉토리에 저장합니다. echo $HOME 명령 을 실행하여 HOME 변수의 현재 값을 볼 수 있습니다 .
3. 사용자
USER 변수는 현재 로그인한 사용자의 사용자 이름을 지정합니다. 로그인할 때 자동으로 설정되며 일반적으로 프로그램 및 스크립트에서 현재 사용자의 사용자 이름을 결정하는 데 사용됩니다.
USER 변수는 현재 사용자를 기반으로 프로그램의 동작을 사용자 지정하기 위해 스크립트에서 자주 사용됩니다. 예를 들어 스크립트는 USER 변수의 값을 확인하고 현재 사용자에게 루트 또는 sudo 권한이 있는 경우에만 특정 작업을 수행할 수 있습니다.
특정 일반 명령을 실행하기 위해 변수를 사용할 수도 있습니다. 예를 들어 사용자를 docker 그룹에 추가할 때 실제 사용자 이름을 입력하는 대신 다음 명령을 실행하기만 하면 됩니다.
sudo usermod -aG docker $USER
4. 쉘
셸은 운영 체제와 상호 작용하기 위한 명령줄 인터페이스(CLI)를 제공하는 프로그램입니다.
대부분의 Linux 시스템은 Bourne Again Shell(Bash)을 기본값으로 사용하지만 대안이 많이 있습니다. C 셸(csh), Z 셸(Zsh), 물고기 등
SHELL 변수는 사용자의 기본 쉘에 대한 경로를 지정합니다. 로그인 시 자동으로 설정됩니다.
또한 이 변수는 사용자의 기본 셸을 기반으로 프로그램의 동작을 사용자 지정하기 위해 스크립트에서 사용됩니다. 예를 들어 스크립트는 SHELL 변수의 값을 확인하고 사용 중인 셸에 따라 다른 구문이나 옵션을 사용할 수 있습니다.
echo $SHELL 을 실행하여 SHELL 변수의 현재 값을 볼 수 있습니다 . chsh 명령을 사용하여 기본 쉘을 변경할 수 있습니다.
5. 장애인
Linux의 또 다른 중요한 환경 변수인 PWD는 현재 작업 디렉토리를 저장합니다. 대부분 정적인 대부분의 환경 변수와 달리 이것은 cd 명령을 사용하여 디렉토리를 변경할 때마다 쉘에 의해 업데이트됩니다.
쉘 스크립트에서 PWD 변수를 사용하여 현재 작업 디렉토리를 쉽게 참조할 수 있습니다. 변수 값은 pwd 명령을 실행할 때 얻는 값과 유사합니다.
6. 호스트 이름
호스트 이름 또는 장치 이름은 네트워크에서 컴퓨터를 식별하는 데 사용되는 고유한 이름입니다. 예를 들어 SSH를 통해 시스템에 연결하려는 경우 IP 주소 대신 호스트 이름을 사용할 수 있습니다.
HOSTNAME 변수는 단순히 시스템의 호스트 이름을 지정하는 환경 변수입니다. 시스템이 부팅될 때 자동으로 설정되며 일반적으로 네트워크에 연결될 때 시스템을 식별하는 데 사용됩니다. Linux에서 호스트 이름을 변경할 수 있는 방법에는 여러 가지가 있습니다.
HOSTNAME 변수는 호스트 이름을 기반으로 시스템을 식별하고 동작을 사용자 지정하기 위해 프로그램 및 스크립트에서도 사용됩니다. 스크립트는 일반적으로 HOSTNAME 변수의 값을 확인하고 시스템이 특정 호스트인 경우에만 특정 작업을 수행합니다.
Linux에서 사용자 지정 변수 만들기
자동으로 설정되는 기본 Linux 변수와는 별개입니다. export 명령을 사용하여 고유한 쉘 변수를 정의할 수도 있습니다. 값이 “Hello World”인 GREETING이라는 새 변수를 만들려면 다음 명령을 사용할 수 있습니다.
export GREETING="Hello World"
그런 다음 다른 환경 변수와 마찬가지로 스크립트나 명령줄 내에서 GREETING 변수를 사용할 수 있습니다.
답글 남기기