
Linux에서 환경변수 에 접근하는 방법을 소개함.
Windows에서 %env_varaible% 를 쓰는 것과 다름.
환경변수에 대한 내용은 다음을 참고:
2023.06.20 - [개발환경] - [Env] Environment Variable (환경변수)
[Env] Environment Variable (환경변수)
정의Environment variable (환경변수) 란,OS나 SW에서 참조하는 변수들로OS나 SW가 동작 (or 실행)에 영향을 주는 값을 가짐.shell script 나 software들이 각 장비의 환경에 맞게 동작할 수 있도록 해 줌.종류Envr
ds31x.tistory.com
${env_varaible}
다음과 같은 shell script 는 source test.zsh 를 zsh의 설정파일 .zshrc의 마지막에 추가해줌.
echo "source test.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
여기서 ${환경변수} 는 환경변수 의 이름의 environment variable의 값으로 대치되는 것임.
ZDOTDIR 은 zsh에서 사용되는 환경변수 중 하나로서 zsh의 configuration files 이 있는 directory의 path를 가짐.
ZDOTDIR에 있는 configuration files는 다음과 같음..zshrc,.zshenv,.zprofile,.zlogin임.- 설정되어 있지 않은 경우도 많음.
HOME 은 일반적으로 현재 사용자의 home directory의 path를 가지는 환경변수임.
/home/사용자_계정명이 일반적인 형태임.
Command Substitution과의 차이점
Command Substitution과 비슷하게 보이나, curly bracket이냐, parenthesis냐의 차이가 있으니 유의할 것.
2023.10.01 - [Linux/shell] - [Shell] command substitution
[Shell] command substitution
command substitution (명령어치환)우리나라말로 명령어 치환 이라고 불리며,특정 명령어의 수행결과를 문자열로 입력받는 형태로 셀프로그래밍 등에서 사용됨.command substitution 사용법아래 예제는 resu
ds31x.tistory.com
colon-hypen
위의 주의할 점은 :- operator임.
${ZDOTDIR:-$HOME} 은
${ZDOTDIR}이 설정되어 있는 경우엔${ZDOTDIR:-$HOME}이 해당 값으로 치환되고,${ZDOTDIR}이 설정되어 있지 않은 경우엔:-뒤에 있는$HOME(=${HOME})의 값으로 치환됨.
:-operator는 "colon-hypen" 또는 "colon-minus"라고 불리며
shell script에서 특정 변수의 값을 가져올 때,
설정되어 있지 않을 경우 기본값을 제공하기 위해 사용됨.
다음의 예를 살펴볼 것.
❯ echo $HOME
/Users/dsaint31
❯ echo ${ZDOTDIR:-$HOME}
/Users/dsaint31
❯ vi ~/.zshrc
❯ echo ${HOME:-test}
/Users/dsaint31
❯ echo ${HOME1:-test}
test
아래의 경우 HOME1은 정의되지 않은 환경변수이므로, 일반 텍스트 test로 출력되는 것을 확인할 수 있음.
2023.10.25 - [Linux] - [zsh] 변수 여부 체크하고 없으면 다른 값 할당하기 : ${val0:-val1}
[zsh] 변수 여부 체크하고 없으면 다른 값 할당하기 : ${val0:-val1}
zsh 등의 shell script에서 다음과 같은 형태로 변수할당이 되는 경우가 있음. rval=${ZDOTDIR:-$HOME} 이 경우, ZDOTDIR 란 변수가 비어있지 않은 경우에는 rval는 ZDOTDIR과 같은 값을 가지게 된다. rval=$ZDOTDIR 과
ds31x.tistory.com
'Linux' 카테고리의 다른 글
| [Linux] sed vs. ed vs. vi : 텍스트 편집 도구 비교 (0) | 2024.05.11 |
|---|---|
| [linux] Gateway ip address 확인: Ubuntu (1) | 2024.02.06 |
| [Linux] cmd: disk usage and disk free: du and df (1) | 2024.01.24 |
| [Linux] cut 사용법 (2) | 2023.12.11 |
| [Linux] tmux (Terminal MUltipleXer) 사용하기 (1) | 2023.11.19 |