13
Shell Script 시작 하기 7공무원도 쉽게 따라하는 스크립트

7급 공무원도 쉽게 따라하는 쉘 스크립트

Embed Size (px)

Citation preview

Page 1: 7급 공무원도 쉽게 따라하는 쉘 스크립트

Shell Script 시작하기7급 공무원도 쉽게 따라하는 쉘 스크립트

Page 2: 7급 공무원도 쉽게 따라하는 쉘 스크립트

Shell● 여러가지 OS에서 사용되는 User Interface를 지칭 ( <----> Kernel )

● 사용자가 입력하는 명령을 처리함● 대표적인 shell

○ ash, ksh, bash, zsh, dash, nash○ cmd.exe, 4dos.com○ explorer.exe(탐쉑히)○ Finder.app○ nautilus○ konquerer

Page 3: 7급 공무원도 쉽게 따라하는 쉘 스크립트

Shell Script● 사용자가 지정해 놓은 일렬의 명령어들을 순서대로 수행하도록 할 수 있는 파일

● 쉘에서 이해할 수 있는 문장(쉘 문법)으로 나열됨

● 쉘 고유의 기능과 외부 명령어의 조합으로 사용 됨

Page 4: 7급 공무원도 쉽게 따라하는 쉘 스크립트

Shell Script 활용● startx

○ X Window 시스템을 시작할 때 사용하는 스크립트● /etc/init.d/apache2

○ 웹서버 시작 및 중지하기 위한 스크립트● http://goo.gl/N9nxW

○ 쉘 스크립트로 구현된 웹서버

Page 5: 7급 공무원도 쉽게 따라하는 쉘 스크립트

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

Page 6: 7급 공무원도 쉽게 따라하는 쉘 스크립트

조건문

● 주의!!!○ 리턴값이 0이면 SUCCESS○ 그 이외의 값은 FAIL

● if 명령어 ; thenfi

● test, [ 명령어○ 조건을 검사하기 위한 기본적인 명령 (자세한건

manpage참조)● cmd1 || cmd2● cmd1 && cmd2

Page 7: 7급 공무원도 쉽게 따라하는 쉘 스크립트

조건문

● case X in○ 1) blah

■ ;;○ *)

■ ;;● esac● glob 형식의 패턴도 적용 가능

Page 8: 7급 공무원도 쉽게 따라하는 쉘 스크립트

반복문

● for X in item1 item2 item3● do

○ excute something with $X● done● until/while

Page 9: 7급 공무원도 쉽게 따라하는 쉘 스크립트

변수

● 변수 확인○ env 또는 export 명령

● 변수 할당○ V1=x○ V2=y

● 특수 변수○ $@○ $#○ $?

Page 10: 7급 공무원도 쉽게 따라하는 쉘 스크립트

변수

● 내장 변수○ PATH○ PWD○ HOME○ LANG○ PS1○ SHELL○

Page 11: 7급 공무원도 쉽게 따라하는 쉘 스크립트

변수

값 조작○ V1="hello world"○ echo ${V1/lo/hi}

● 값 계산○ V1=$((1 + 2))○ echo $V1

● 결과값 얻기○ echo "1 + 2" | bc○ V1=$(echo "1 + 2" | bc)○ echo $V1

Page 12: 7급 공무원도 쉽게 따라하는 쉘 스크립트

Pipeline, Redirection● 명령의 출력을 재처리 하기 위한 방법● Pipeline

○ 사용법■ cmd1 | cmd2

○ cmd1이 출력하는 것을 cmd2의 입력으로 전달● Redirection

○ 사용법 1■ cmd 1 > filename■ cmd1이 출력하는 것을 filename으로 저장

○ 사용법 2■ cmd1 < filename■ filename의 내용을 cmd1의 표준 입력으로 전달

Page 13: 7급 공무원도 쉽게 따라하는 쉘 스크립트

디버깅

● bash -x gogi.sh