본문 바로가기
리눅스공부/셸 스크립트 프로그래밍

[bash셸] 리눅스 셸 프로그래밍 / bash 셸의 이해

by 으노으뇨 2022. 12. 20.
728x90
반응형
SMALL

셸은 사용자가 입력한 명령을 해석해 커널로 전달하거나, 커널의 처리 결과를 사용자에게 전달하는 역할을 한다.

우분투의 bash 셸

우분투에서 기본적으로 사용하는 셸은 bash이다. (이걸 배시 셸 이라고 한다.) 이는 BourneShell을 기반으로 Korn Shell과 C shell의 좋은 점을 합한 것으로 보면 된다.

bash의 특징
  • Alias 기능 (명령 단축 기능)
  • History 기능 
  • 연산 기능
  • Job Control 기능
  • 자동 이름 완성 기능
  • 프롬프트 제어 기능
  • 명령 편집 기능

* alias  명령은 긴 명령을 줄여서 사용할 때 편리하다. 예를들어 ls -al 명령을 ls2라는 명령으로 사용하고 싶다면 alias ls2="ls -al" 명령으로 정의하면 된다.

셸의 명령문 처리 방법

셸 명령문은 명령문과 함께 여러가지 옵션이나 인자를 사용할 수 있으며 형식은 다음과 같다.

(프롬프트) 명령 [옵션 ... ] [ 인자 ... ]

예를 들면 다음과 같이 다양한 옵션과 인자를 사용해서 명령을 사용한다.

ls -l
rm -rf /mtdir
find . / -name ".conf"
환경변수

셸은 여러가지 환경 변수 값을 가지는데, 설정된 환경 변수는 

echo $환경변수이름

형식으로 명령을 실행하면 확인할 수 있다. 예를 들어 호스트 이름을 출력하면 echo $HOSTNAME 명령을 실행한다.

주요 환경변수는 아래와 같다.

환경변수 설명  환경변수 설명
HOME 현재 사용자의 홈 디렉터리 PATH 실행 파일을 찾는 디렉터리 경로
LANG 기본 지원되는 언어 PWD 사용자의 현재 작업 디렉터리
TERM 로그인 터미널 진입 SHELL 로그인해서 사용하는 셸
USER 현재 사용자의 이름 DISPLAY x디스플레이 이름
COLUMNS 현재 터미널의 컬럼 수  LINES 현재 터미널 라인 수 
PS1 1차 명령 프롬프트 변수 PS2 2차 명령 프롬프트 변수
BASH BASH 셸의 경로 BASH_VERSION bash 버전
HISTFILE 히스토리 파일의 경로 HISTSIZE 히스토리 파일에 저장되는 개수
HOSTNAME 호스트의 이름 USERNAME 현재 사용자 이름
LONGNAME 로그인 이름 LS_COLORS ls 명령의 확장자 색상 옵션
MAIL 메일을 보관하는 경로 OSTYPE 운영체제 타입

환경 변수 값을 변경하려면 

export 환경변수 =값

형식을 실행한다. 그 외의 환경 변수는 printenv 명령을 실행하면 출력된다. 단, 일부 환경 변수는 printenv 명령을 실행해도 나타나지 않는다는 사실에 주의한다.

728x90
반응형
LIST