ì•„ì ´ìŠ¤í ¬ë¦¼ ì¹¼ë ¼í ¼ ìŠ¬ë ¼ì „ 액체괴물 만들기!! í 르는 ì í† ì•¡ê´´ ìŠ¬ë ¼ì „ 놀ì
차례:
Linux 및 Unix 기반 시스템에서 환경 변수는 셸 또는 하위 셸에서 시작된 응용 프로그램에서 사용하는 시스템 내에 저장된 동적 명명 된 값 집합입니다. 간단히 말해서 환경 변수는 이름과 관련 값을 가진 변수입니다.
환경 변수를 사용하면 시스템 작동 방식 및 시스템에서 응용 프로그램의 동작을 사용자 정의 할 수 있습니다. 예를 들어, 환경 변수는 기본 텍스트 편집기 또는 브라우저, 실행 파일 경로 또는 시스템 로케일 및 키보드 레이아웃 설정에 대한 정보를 저장할 수 있습니다.
이 안내서에서는 환경 및 쉘 변수를 읽고 설정하는 방법에 대해 설명합니다.
환경 변수 및 쉘 변수
변수의 형식은 다음과 같습니다.
KEY=value KEY="Some other value" KEY=value1:value2
- 변수 이름은 대소 문자를 구분합니다. 일반적으로 환경 변수는 대문자로 이름을 지정해야합니다. 변수에 여러 값을 할당 할 때는 변수를 콜론 (:)으로 구분해야합니다.
변수는 환경 변수와 쉘 변수의 두 가지 주요 범주로 분류 할 수 있습니다.
환경 변수 는 시스템 전체에서 사용할 수 있으며 생성 된 모든 자식 프로세스와 셸에서 상속되는 변수입니다.
쉘 변수 는 현재 쉘 인스턴스에만 적용되는 변수입니다.
zsh
및
bash
와 같은 각 쉘에는 자체 내부 쉘 변수 세트가 있습니다.
Linux에서 환경 변수를 나열하고 설정할 수있는 몇 가지 명령이 있습니다.
-
env
–이 명령을 사용하면 현재 프로그램을 수정하지 않고 사용자 정의 환경에서 다른 프로그램을 실행할 수 있습니다. 인수없이 사용하면 현재 환경 변수 목록이 인쇄됩니다.printenv
–이 명령은 모든 또는 지정된 환경 변수를 인쇄합니다.set
– 명령은 쉘 변수를 설정 또는 설정 해제합니다. 인수없이 사용하면 환경 및 쉘 변수 및 쉘 함수를 포함한 모든 변수 목록이 인쇄됩니다.unset
– 명령은 쉘 및 환경 변수를 삭제합니다.export
– 명령은 환경 변수를 설정합니다.
환경 변수 나열
환경 변수를 표시하기 위해 가장 많이 사용되는 명령은
printenv
입니다. 변수 이름이 명령의 인수로 전달되면 해당 변수의 값만 표시됩니다. 인수를 지정하지 않으면
printenv
는 모든 환경 변수 목록을 한 줄에 하나씩 변수로 인쇄합니다.
예를 들어,
HOME
환경 변수의 값을 표시하려면 다음을 실행하십시오.
printenv HOME
출력은 현재 로그인 한 사용자의 경로를 인쇄합니다.
/home/linuxize
printenv
명령에 둘 이상의 인수를 전달할 수도 있습니다.
printenv LANG PWD
en_US /home/linuxize
printenv
결과는 다음과 같습니다.
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35;… LESSCLOSE=/usr/bin/lesspipe %s %s LANG=en_US S_COLORS=auto XDG_SESSION_ID=5 USER=linuxize PWD=/home/linuxize HOME=/home/linuxize SSH_CLIENT=192.168.121.1 34422 22 XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop SSH_TTY=/dev/pts/0 MAIL=/var/mail/linuxize TERM=xterm-256color SHELL=/bin/bash SHLVL=1 LANGUAGE=en_US: LOGNAME=linuxize XDG_RUNTIME_DIR=/run/user/1000 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin LESSOPEN=| /usr/bin/lesspipe %s _=/usr/bin/printenv
다음은 가장 일반적인 환경 변수 중 일부입니다.
-
USER
현재 로그인 한 사용자입니다.HOME
현재 사용자의 홈 디렉토리EDITOR
사용될 기본 파일 편집기. 터미널에서edit
을 입력edit
때 사용되는 편집기입니다.SHELL
현재 사용자 쉘의 경로 (예: bash 또는 zsh).LOGNAME
현재 사용자의 이름입니다.PATH
명령을 실행할 때 검색 할 디렉토리 목록입니다. 명령을 실행하면 시스템이 해당 디렉토리를이 순서대로 검색하고 처음 찾은 실행 파일을 사용합니다.LANG
현재 로케일 설정TERM
현재 터미널 에뮬레이션MAIL
현재 사용자의 메일이 저장되는 위치입니다.
printenv
및
env
명령은 환경 변수 만 인쇄합니다. 환경, 쉘 및 변수 및 쉘 함수를 포함한 모든 변수의 목록을 얻으려면
set
명령을 사용할 수 있습니다.
set
BASH=/bin/bash BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:login_shell:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=()
이 명령은 모든 변수의 큰 목록을 표시하므로 출력을
less
명령으로 파이프하고 싶을 것입니다.
set | less
echo 명령을 사용하여 쉘 변수를 인쇄 할 수도 있습니다. 예를 들어,
BASH_VERSION
변수의 값을 인쇄하려면 다음을 실행하십시오.
echo $BASH_VERSION
환경 변수 설정
쉘 변수와 환경 변수의 차이점을 더 잘 설명하기 위해 쉘 변수 설정부터 시작하여 환경 변수로 넘어갑니다.
이름이
MY_VAR
이고 값이
Linuxize
새 쉘 변수를 작성하려면
Linuxize
을 입력하십시오.
MY_VAR='Linuxize'
grep
set | grep MY_VAR
set 명령의 출력을 필터링하는
echo $MY_VAR
을 사용하여 변수가 설정되었는지 확인할 수 있습니다.
set | grep MY_VAR
:
echo $MY_VAR
Linuxize
printenv
명령을 사용하여이 변수가 환경 변수인지 확인하십시오.
printenv MY_VAR
변수가 환경 변수가 아님을 알려주는 출력이 비어 있습니다.
서브 쉘에서 변수를 인쇄하려고하면 빈 출력이 표시됩니다.
bash -c 'echo $MY_VAR'
export
명령은 환경 변수를 설정하는 데 사용됩니다.
환경 변수를 만들려면 간단히 쉘 변수를 환경 변수로 내보내십시오.
export MY_VAR
다음을 실행하여이를 확인할 수 있습니다.
printenv MY_VAR
Linuxize
bash -c 'echo $MY_VAR'
Linuxize
한 줄로 환경 변수를 설정할 수도 있습니다.
export MY_NEW_VAR="My New Var"
이러한 방식으로 작성된 환경 변수는 현재 세션에서만 사용 가능합니다. 새 쉘을 열거 나 로그 아웃하면 모든 변수가 손실됩니다.
지속적인 환경 변수
환경 변수를 지속적으로 만들려면 bash 구성 파일에서 해당 변수를 정의해야합니다. 새 세션을 시작할 때 대부분의 Linux 배포에서 환경 변수는 다음 파일에서 읽습니다.
-
/etc/environment
이 파일을 사용하여 시스템 전체 환경 변수를 설정하십시오. 이 파일의 변수는 다음 형식으로 설정됩니다.FOO=bar
VAR_TEST="Test Var"
/etc/profile
이 파일에 설정된 변수는 bash 로그인 쉘이 입력 될 때마다로드됩니다. 이 파일에서 환경 변수를 선언 할 때export
명령을 사용해야합니다.export JAVA_HOME="/path/to/java/home"
export PATH=$PATH:$JAVA_HOME/bin
사용자 별 셸 특정 구성 파일 예를 들어 Bash를 사용하는 경우
~/.bashrc
변수를 선언 할 수 있습니다.export PATH="$HOME/bin:$PATH"
새 환경 변수를 현재 쉘 세션으로로드하려면
source
명령을 사용하십시오.
결론
이 안내서에서는 환경 및 쉘 변수를 설정하고 나열하는 방법을 보여주었습니다.
궁금한 점이 있으면 언제든지 의견을 남겨주십시오.
단말기bash (counter)에서 변수를 늘리고 줄이는 방법
Bash 스크립트를 작성할 때 가장 일반적인 산술 연산 중 하나는 변수를 늘리고 줄이는 것입니다. 이것은 루프에서 카운터로 가장 많이 사용되지만 스크립트의 다른 곳에서도 발생할 수 있습니다.
리눅스에서 그룹을 나열하는 방법
Linux에서 그룹은 사용자 모음입니다. 이 학습서는 사용자가 속한 모든 그룹을 표시하는 방법을 설명합니다. 또한 그룹의 모든 구성원을 나열하는 방법에 대해서도 설명합니다.
리눅스에서 사용자를 나열하는 방법
Linux 시스템의 모든 사용자를 나열하거나 시스템의 사용자 수를 세고 싶습니까? 사용자를 작성하고, 사용자를 삭제하고, 로그인 한 사용자를 나열하는 명령이 있지만 Linux의 모든 사용자를 나열하는 명령은 무엇입니까?