[리눅스] Bash Shell과 변수

앙금빵·2021년 6월 27일
0

리눅스

목록 보기
6/13
post-thumbnail

Shell의 변수 (지역 환경 변수)

  • 현재 사용하는 쉘에서만 적용되는 변수
  • 변수명: 문자, 숫자, (언더바) 로 구성될 수 있지만, 시작은 반드시 문자나 ''로 시작

변수 선언 : [varname] = [value]

$ fname=john
$ score=100

변수 확인: echo, set

# value 값 확인
$ echo $fname
john

# set : 모든 변수명 표시 (grep를 통해 필터링 필요)
$ set | grep name # name 을 포함한 문구 검색

변수 제거: unset [varname]

# fname 변수 제거
$ unset fname

Shell의 환경 변수

환경변수 (i.e 전역 환경 변수)

  • 로그인 쉘서브쉘에서 사용할 수 있는 변수
  • 동작되는 프로그램에게 영향을 주는 변수
    (시스템이 목적을 가지고 사용하는 변수)

환경 변수 선언 export [varName]=[value]

$ export NAME=Lee
$ echo $NAME

환경 변수 제거하기 unset

$ unset my_var (#,$를 사용하지 않는다)

전역 환경변수 경우 자식 프로세스에서 전역 환경변수를 unset 해도 이는 자식 프로세스에만 적용

해당 전역 환경 변수는 부모 프로세스에서 계속 사용할 수 있다.

환경 변수 달러 기호 사용 유의점

  • 변수의 값으로 어떤 일을 할 때는 달러 기호를 사용한다.
  • 변수 자체에 대한 어떤 조작을 한다면 달러 기호는 지양할 것 (printenv 명령 제외)

시스템에 적용된 환경 변수 확인: env 또는 printenv

# 환경 변수만 표시
$ env $HOME
$ printenv HOME

시스템에 미리 선언(예약)되어 있는 환경 변수 종류

# 알아둬야 할 환경 변수

$PATH 실행 파일을 찾을 경로

$HOME 현재 로그인한 사용자의 홈 디렉토리 경로

$LANG 쉘에서 사용하는 언어

$SHELL 로그인 시 사용하는 쉘 실행 파일 경로

$PS1 프롬프트 구조 정보\

$HISTSIZE 히스토리 파일에 저장되는 명령어의 수

$HISTFILE 히스토리 파일의 경로

$TMOUT 세션 유지 시간  #(보안상 설정해두는 것이 좋음, Ex) TMOUT=[숫자] (초 단위))

# 그 외 미리 선언(예약) 되어 있는 환경변수
<<'END'
1) HOME : 사용자의 홈디렉토리
2) PATH : 실행파일을 찾는 경로
3) LANG : 프로그램 사용시 기본 지원되는 언어
4) PWD : 사용자의 현재 작업하는 디렉토리
5) TERM : 로긴 터미널 타입
6) SHELL : 로그인해서 사용하는 쉘
7) USER : 사용자의 이름
8) DISPLAY : X 디스플레이 이름
9) VISUAL : visual 편집기의 이름
10) EDITOR : 기본 편집기의 이름
11) COLUMNS : 현재 터미널이나 윈도우 터미널의 컬럼수
12) PS1 : 명령프롬프트변수
13) PS2 : 2차 명령프롬프트이다. 명령행에서 \를 사용하여 명령행을 연장했을 때 나타난다.
14) BASH : 사용하는 bash 쉘의 경로
15) BASH_VERSION : bash의 버전
16) HISTFILE : history 파일의 경로
17) HISTFILESIZE : history 파일의 크기
18) HISTSIZE : history에 저장되는 갯수
19) HISTCONTROL : 중복되어지는 명령에 대한 기록 유무를 지정하는 변수이다.
20) HOSTNAME : 호스트의 이름
21) LINES : 터미널의 라인 수
22) LOGNAME :로그인이름
23) LS_COLORS : ls 명령의 색상관련 옵션
24) MAIL : 메일을 보관하는 경로
25) MAILCHECK : 메일확인시간
26) OSTYPE : 운영체제 타입
27) SHLVL :쉘의 레벨
28) TERM :터미널종류
29) UID : 사용자의 UID
30) USERNAME : 사용자이름
END

참조

https://www.youtube.com/watch?v=ezsCVBTiUKs&list=PLApuRlvrZKog2XlvGJQh9KY8ePCvUG7Je&index=3&ab_channel=TTABAE-LEARN

https://neul-carpediem.tistory.com/78

https://aroundck.tistory.com/6920

https://m.blog.naver.com/occidere/220821140

profile
Cloud 관련 개인 공부 지식들을 기록하는 공간입니다.

0개의 댓글