Upload
young-ho-cha
View
375
Download
2
Embed Size (px)
Citation preview
Shell Script 시작하기7급 공무원도 쉽게 따라하는 쉘 스크립트
Shell● 여러가지 OS에서 사용되는 User Interface를 지칭 ( <----> Kernel )
● 사용자가 입력하는 명령을 처리함● 대표적인 shell
○ ash, ksh, bash, zsh, dash, nash○ cmd.exe, 4dos.com○ explorer.exe(탐쉑히)○ Finder.app○ nautilus○ konquerer
Shell Script● 사용자가 지정해 놓은 일렬의 명령어들을 순서대로 수행하도록 할 수 있는 파일
● 쉘에서 이해할 수 있는 문장(쉘 문법)으로 나열됨
● 쉘 고유의 기능과 외부 명령어의 조합으로 사용 됨
●
Shell Script 활용● startx
○ X Window 시스템을 시작할 때 사용하는 스크립트● /etc/init.d/apache2
○ 웹서버 시작 및 중지하기 위한 스크립트● http://goo.gl/N9nxW
○ 쉘 스크립트로 구현된 웹서버
Shell Script 수행 방법1. 처리하고자 하는 쉘에 인자로 넣어서 수행
○ bash gogi.sh2. 쉘 스크립트 최상단에 처리할 수 있는 인터프리터를 지정 후 실행 권한 부여○ #!/usr/bin/env python○ chmod +x im_hungry.py○ ./im_hungry.py
3. 참고 소스○ linux kernel에서 스크립트 수행하는 부분
■ http://goo.gl/iHBld
조건문
● 주의!!!○ 리턴값이 0이면 SUCCESS○ 그 이외의 값은 FAIL
● if 명령어 ; thenfi
● test, [ 명령어○ 조건을 검사하기 위한 기본적인 명령 (자세한건
manpage참조)● cmd1 || cmd2● cmd1 && cmd2
조건문
● case X in○ 1) blah
■ ;;○ *)
■ ;;● esac● glob 형식의 패턴도 적용 가능
반복문
● for X in item1 item2 item3● do
○ excute something with $X● done● until/while
변수
● 변수 확인○ env 또는 export 명령
● 변수 할당○ V1=x○ V2=y
● 특수 변수○ $@○ $#○ $?
●
변수
● 내장 변수○ PATH○ PWD○ HOME○ LANG○ PS1○ SHELL○
변수
값 조작○ V1="hello world"○ echo ${V1/lo/hi}
● 값 계산○ V1=$((1 + 2))○ echo $V1
● 결과값 얻기○ echo "1 + 2" | bc○ V1=$(echo "1 + 2" | bc)○ echo $V1
Pipeline, Redirection● 명령의 출력을 재처리 하기 위한 방법● Pipeline
○ 사용법■ cmd1 | cmd2
○ cmd1이 출력하는 것을 cmd2의 입력으로 전달● Redirection
○ 사용법 1■ cmd 1 > filename■ cmd1이 출력하는 것을 filename으로 저장
○ 사용법 2■ cmd1 < filename■ filename의 내용을 cmd1의 표준 입력으로 전달
디버깅
● bash -x gogi.sh