[Linux/Unix] Shell 이란?

._.·2021년 2월 16일

Linux/Unix

목록 보기
1/1

쉘(Shell)은 사용자가 입력하는 명령을 실행해주는 프로그램이다. 즉, 사용자와 커널 간의 인터페이스.
종류로는 bash, sh 등. window에서는 cmd.exe가 일종의 쉘이다.

1. 환경변수

bash 쉘은 작업 환경에 대한 정보를 저장하기 위해 환경변수 기능을 사용한다. 이로써, 메모리에 데이터를 저장하고 모든 프로그램이나 스크립트에서 데이터를 사용할 수 있다.

환경변수의 유형은 두가지로 나뉜다.

  • 전역 변수
    쉘 세션, 이로부터 파생된 자식 서브쉘에서 사용가능

    • 전역변수 확인방법 > $ printenv HOME
    • 전역변수 설정방법 (자식 쉘에서의 값변경은 부모의 쉘에 영향을 주지 않는다)
      $ var=Soddong
      $ export var
  • 지역 변수
    해당 쉘에서만 사용가능

    • 지역변수 확인방법은 따로 존재하지 않으며, 모든 변수를 확인하는 방법이 존재한다. > $ set
    • 지역변수 설정방법
      $ var=Soddong
      $ echo $var
  • 참고
    $ unset my_var : 환경변수 제거방법
    $ echo $ SHELL : 현재 사용중인 쉘 확인
    $ cat /etc/shells : 사용가능한 쉘 확인

2. 쉘 스크립트

interpret 방식으로 동작하는 컴파일되지 않은 프로그램.
C언어는 작성된 파일을 컴파일 하여, 목적파일로 만들어준 뒤, 링크과정을 거쳐 실행이 가능한 반면, 쉘스크립트는 바로 실행가능하다.

  • 생성 방법
    • .sh 파일로 생성
    • 파일로 작성 후, bash [filename]와 같이 실행
    • chmod +x 로 권한 부여해야함
  • 내용 작성
    • 첫 줄에 #!/bin/sh를 작성하여 해당 쉘로 실행함을 알려줌

0개의 댓글