SlideShare a Scribd company logo
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.sh
2. 쉘 스크립트 최상단에 처리할 수 있는 인터프
리터를 지정 후 실행 권한 부여
○ #!/usr/bin/env python
○ chmod +x im_hungry.py
○ ./im_hungry.py
3. 참고 소스
○ linux kernel에서 스크립트 수행하는 부분
■ http://goo.gl/iHBld
조건문
● 주의!!!
○ 리턴값이 0이면 SUCCESS
○ 그 이외의 값은 FAIL
● if 명령어 ; then
fi
● 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

More Related Content

PPTX
shell and process
PPTX
Promise 패턴 공부
PDF
JavaScript Promises
DOCX
Linux+정리
PDF
세션5. web3.js와 Node.js 를 사용한 dApp 개발
PPT
programming with GDB
PDF
Blockchain Study(4) - Geth & Smart Contract
PDF
Hello world
shell and process
Promise 패턴 공부
JavaScript Promises
Linux+정리
세션5. web3.js와 Node.js 를 사용한 dApp 개발
programming with GDB
Blockchain Study(4) - Geth & Smart Contract
Hello world

What's hot (18)

PDF
세션1. block chain as a platform
PDF
BSides Delhi CTF 2018 [Never Too Late Mister (Forensics 200pts)] WriteUp
PDF
[OpenTRS-001] Hotel California
PDF
세션3. geth 클라이언트 실습 및 모니터링과 시각화
PPTX
Lightning talk - 11
PPTX
windows via c++ Ch 5. Job
PDF
Blockchain Study(5) - Smart Contract(스마트 계약)
PPTX
Easy gameserver
PPTX
fluentd
PDF
Blockchain 4th dapp programming
PDF
[Windows via c/c++] 4장 프로세스
PPTX
스레드
PDF
[143] Modern C++ 무조건 써야 해?
PDF
세션4. 예제로 배우는 스마트 컨트랙트 프로그래밍
PDF
[강릉원주대 대기환경과학과] 대기과학전산입문 설명서
PDF
코어 이더리움
PDF
Javascript 101
PPTX
성미급한 사람들을 위한 아파치 설치
세션1. block chain as a platform
BSides Delhi CTF 2018 [Never Too Late Mister (Forensics 200pts)] WriteUp
[OpenTRS-001] Hotel California
세션3. geth 클라이언트 실습 및 모니터링과 시각화
Lightning talk - 11
windows via c++ Ch 5. Job
Blockchain Study(5) - Smart Contract(스마트 계약)
Easy gameserver
fluentd
Blockchain 4th dapp programming
[Windows via c/c++] 4장 프로세스
스레드
[143] Modern C++ 무조건 써야 해?
세션4. 예제로 배우는 스마트 컨트랙트 프로그래밍
[강릉원주대 대기환경과학과] 대기과학전산입문 설명서
코어 이더리움
Javascript 101
성미급한 사람들을 위한 아파치 설치
Ad

Viewers also liked (20)

PDF
간단한 쉘 스크립트 작성하기
DOCX
Sha 2 기반 인증서 업그레이드 이해
PPT
Victoria's Secret Angels Campaign
PPTX
김명환
PPTX
Wire shark 사용법 및 네트워크 개론 살짝 설명
PDF
프로토추천♬♬W­Е­4­9­닷­С­О­М♬♬고액배팅사이트め고액배팅사이트め프로토
PPTX
Simple ways to deploy VM Images from Self Service UI in IBM Cloud Orchestrato...
PPTX
Bash-as-a-Interpreter
PDF
Linux tutorial
PDF
Introduction to Linux #1
PPTX
Jco14 오픈소스를 이용한 모니터링 방법
PPTX
이것이 리눅스다 - 김종욱
PPTX
1주차 리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
PPTX
k.s.h.
PDF
Medical Wiki Project
PPT
L4교육자료
PDF
[2015-06-05] Oracle TX Lock
PDF
[2015-05-22] Oracle Ways of Concurrency Control
DOC
Oracle History #9
PDF
MariaDB Other Features
간단한 쉘 스크립트 작성하기
Sha 2 기반 인증서 업그레이드 이해
Victoria's Secret Angels Campaign
김명환
Wire shark 사용법 및 네트워크 개론 살짝 설명
프로토추천♬♬W­Е­4­9­닷­С­О­М♬♬고액배팅사이트め고액배팅사이트め프로토
Simple ways to deploy VM Images from Self Service UI in IBM Cloud Orchestrato...
Bash-as-a-Interpreter
Linux tutorial
Introduction to Linux #1
Jco14 오픈소스를 이용한 모니터링 방법
이것이 리눅스다 - 김종욱
1주차 리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
k.s.h.
Medical Wiki Project
L4교육자료
[2015-06-05] Oracle TX Lock
[2015-05-22] Oracle Ways of Concurrency Control
Oracle History #9
MariaDB Other Features
Ad

More from Young-Ho Cha (12)

PDF
마세라티의 비밀
PDF
More than nexus, better than nexus.
PDF
Cairo clock for android wear
PDF
GITHUB와 함께 Social하게 코딩하기
PDF
코드 리뷰 시스템 소개
PDF
웹표준과 자동화의 약속된 승리
PDF
7급 공무원도 쉽게 따라하는 프로파일링 도구 만들기
PDF
자막을 뿌리려면 해야 할 여러가지 삽질모음
PDF
Browser history and overview
PPTX
Introduce native client
PPTX
Introduce gobject introspection
ODP
페챠쿠챠
마세라티의 비밀
More than nexus, better than nexus.
Cairo clock for android wear
GITHUB와 함께 Social하게 코딩하기
코드 리뷰 시스템 소개
웹표준과 자동화의 약속된 승리
7급 공무원도 쉽게 따라하는 프로파일링 도구 만들기
자막을 뿌리려면 해야 할 여러가지 삽질모음
Browser history and overview
Introduce native client
Introduce gobject introspection
페챠쿠챠

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

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