Shell - 쉘 환경

dragonappear·2022년 1월 8일
0

Shell

목록 보기
1/7

Shell

$ ./a.out
  • 쉘은 명령어를 사용자가 작성한 커맨드를 해석하는 유틸리티이다.
  • 쉘은 사용자가 작성한 커맨드를 읽은 뒤, 유틸리티를 실행한다.

Bash: 현재 리눅스 대부분의 default shell이다.


Bash

  • 로그인이 되면, 리눅스/유닉스는 bash를 실행한다.

내 노트북은 zsh 사용한다.

장점

  • 사용하기 쉽다
  • glue code이다.

단점

  • 프로그래밍 언어에 비해 속도가 느리다.
  • 복잡하고 빠른 성능을 요구하는 프로그래밍에 적합하지 않다.
  • rm -rf test * rm -rf test* 작은 실수로 의도하지 않은 결과를 도출할 수 있다.

Shell 변수

  • 환경변수

    • 부모 프로세스로부터 전달받는 특별한 변수
  • 빌트인 환경 변수

    • 리눅스가 미리 정의해 높은 환경 변수
    • 관례상, 빌트인 변수들은 대문자로 정의되어있다.

set

vehicle=BUS # ok
vehicle =BUS # x
Vehicle=TAXI # 대소문자 구분
echo $vehicle # BUS
  • varname=value : 로컬 변수 생성.
  • echo $varname : 변수의 값 출력.
  • set : (인자없이) 모든 쉘 변수의 값과 이름을 출력한다.

unset

  • unset을 사용하여 변수를 삭제할 수 있다.


환경변수

환경변수란? 부모 프로세스로부터 전달받는 쉘 변수

export

export 변수를 사용하여 변수를 환경변수로 만들 수 있다.

  • export varname=value
  • env : 환경 변수의 이름과 값을 출력한다.
$ var1=10
$ export var1
$ export var2=20
$ env | grep var
var1=10
var2=20

환경변수는 자식 프로세스로 상속이 된다.

$ no1=10
$ export no2=20
$ echo $no1,$no2
10,20


$ bash  # 자식 프로세스
$ echo $no1,$no2
,20
$ exit

$ echo $no1,$no2
10,20 

export -n varnme를 실행하면 환경변수를 일반변수로 만든다.


빌트인 환경 변수

  • PATH는 shell 프로그램이 내가 입력하는 명령어를 찾도록 도와준다.
  • 디렉토리 이름은 콜론으로 구분되어있다.
  • 내가 디렉토리를 추가하고 싶다면 -> `PATH=$PATH":/home/my/bin"

영구적인 환경변수를 만들기 위해서는 export 한 후, ./bashrc file에 변수를 추가하면 된다.

0개의 댓글