본 자료는 상명대학교 신동하 교수님의 수업을 정리한 것임을 밝힙니다.
Shell 이란?
Unix 운영체제에서 사용자 명령을 읽어서 수행시키는 명령어 처리 프로그램(command interpreter) 입니다.
또한 User의 command, application 실행하고 여러 application들을 결합한 shell program 수행합니다.
이를 통해 다양한 개발 도구 제공되며 system developer가 되려면 개발 시 shell을 잘 사용해야합니다.
Variables
C 변수명 규칙을 지켜야합니다.
var=value 와 같이 저장한다. = 양쪽에 " " 공백이 있으면 안됨
모든 변수는 string으로 저장된다.
$변수 와 같이 사용하여 변수의 저장된 값을 불러올 수 있다. 이를 variable substitution 이라고 한다.
Special Variables
$n | n번째 위치 인수. (ex 0,1) |
"$*" | 1부터 모든 인수가 연결된 string "$*" 는 1개의 인수가 됨 double quotes 중요함! |
"$@" | $1부터 모든 인수가 연결된 string "$@" 는 인수 갯수 만큼의 string 역할을 함. double quotes 중요함! |
$# | 위치 인수 갯수 |
$? | 최근 수행한 명령어 혹은 함수의 return value |
$$ | 현재 수행되고 있는 process 번호 (pid) |
Quotes

WhiteSpace를 포함하기 위해서 Single Quote
Double Quotes
를 사용한다.
'$' (dollar), '\' (backslash), '`' (backquote)가 포함되어 있는 경우 이들의 substitution을 위해 사용한다.
Standard Input/Output

대부분의 Unix System은
표준 입력(=0)
에서 데이터를 읽고 ( Keyboard ) 표준 출력(=1)
으로 데이터를 쓴다. ( Screen )

ctrl + d: EOF
Redirections

I/O device를 교체한다.
Input Redirection
표준 입력(keyboard)이 아니라 file로 입력을 바꿈
$ command args ... < file
Output Redirection
표준 출력을 주어진 file로 출력을 바꿈
# new file 생성 "w"
$ command args ... > file
# 기존 file에 추가 "a"
$ command args ... >> file
Uploaded by N2T