[리눅스] 배시 쉘(bash shell) (환경)변수 - 기초 1편
- IT2/shell
- 2022. 7. 3. 13:44
Shell 변수란
- 데이터를 넣는 상자
- 다른 프로그래밍 언어와 다르게 변수 선언 없이도 사용 가능
- 문자, 숫자, _(언더바)로 구성
- 첫 시작이 숫자가 될 순 없음
- 일반 변수(프로그래밍 작업 때 사용되는 변수)와 환경 변수(시스템에 적용하는 변수)로 나뉠 수 있음
변수 선언
command :
# (varname)=(value)
practice :
# city=seoul
# age=19
변수 확인
command :
# echo $(varname)
# set | grep (varname)
# set /// shell에 저장된 모든 변수가 다 나오기 때문에 찾기 힘드므로 grep 명령어 사용 권장
practice :
# echo $city
seoul
# echo $age
19
# set | grep city
city=seoul
# set | grep age
age=19
변수 제거
command :
# unset (varname)
practice :
# unset city
# unset age
Shell 환경 변수란?
- 동작되는 프로그램(애플리케이션)에 영향을 주는 변수
- 관념적으로 일반 변수는 소문자, 환경 변수는 대문자를 사용해 옴
환경 변수 선언
command :
# export (varname)=value
practice :
# export NAME=kim
환경 변수 확인
command :
# echo $(varname)
# env | grep (varname)
# env // 환경변수만 표시되며, grep 명령어 활용 권장
practice :
# echo $NAME
kim
# env | grep NAME
HOSTNAME=eloquence
NAME=kim
LOGNAME=root
NAME이 포함된 변수가 3개나 있었군요~
환경 변수 제거
command :
# unset (varname)
practice :
# unset NAME
이것만큼은 기억하자
PATH | 명령어 탐색 경로 |
HOME | 홈 디렉토리 경로, cd 명령 실행 시 적용 |
USER | 로그인 사용자 이름 |
SHELL | 로그인 Shell 이름 |
practice :
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# date
2022. 07. 03. (일) 13:20:52 KST
# ls
bin dev home lib64 media opt root sbin sys tmp var
boot etc lib local mnt proc run srv test usr
※. shell이 date와 ls라는 명령어를 환경 변수 PATH에 저장된 경로 중 /usr/bin 에서 찾은 다음 운영체제 커널에 전달한다.
PATH에 /usr/bin이 빠지게 된다면?
# export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/root/bin
# date
bash: date: 명령을 찾을 수 없습니다...
# ls
bash: ls: 명령을 찾을 수 없습니다...
유사한 명령: 'lz'
위와 같은 결과가 나온다.
다시 PATH에 /usr/bin을 추가 후 date와 ls 명령어 실행해볼게요.
# PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/root/bin
# date
2022. 07. 03. (일) 13:20:52 KST
# ls
bin dev home lib64 media opt root sbin sys tmp var
boot etc lib local mnt proc run srv test usr
실습 끝!
'IT2 > shell' 카테고리의 다른 글
[shell] 리눅스 CPU, Memory, Disk 성능 모니터링 쉘 스크립트 (1) | 2022.11.16 |
---|