SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
간단한
Shell Script
작성하기.
한영빈@Licube
시작하기에 앞서...
알고 있는 리눅스 터미널 명령어를 말해봅시다.
쉘 스크립트가 무엇인지 아는 사람은 말해봅시
다.
쉘 스크립트가 무엇인지 모른다면 한번 추측해
봅시다.
Linux Terminal Commands.....
cd ..
ls
mkdir
chmod
sudo
dpkg
apt-get
cp
rm
mv
Shell Script???
쉘(Shell)에서 사용 가능한 명령어들을 조합하며
작성한, 배치(Batch)파일
여러 프로그래밍 도구, 유틸리티, 실행파일 등등
을 "묶어서" 어떤 응용 프로그램(=애플리케이션)
을 쉽게 만들어 줌.
반복적인 작업, 시스탬 관리자의 시스탬 관련 작
업 등에 아주 잘 맞음.
쉘 스크립트 구조 알아보기
JAVA를 설치하는 쉘 스크립트를 예로 들어, 쉘
스크립트 구조를 알아봅시다.
#!/bin/sh
#!은 쉘 스크립트임을 나타내 줌
#! 바로 뒤에 나오는 것들은, 명령어들을 해석할
프로그램의 절대경로를 나타냄
#javainstall.sh
#이 쉘 스크립트는 JAVA7을 설치합니다.
앞에 #이 붙으면, 그 줄은 주석이 된다.
스크립트가 실행 될 때, 주석인 부분은 무시된
다.
그 외 부분...
쉘 스크립트에서 실행할 명령어들을 나열.
하나 써봅시다.
-curl 설치
-폴더 생성
-curl로 동아리 홈페이지에서 활동 보고서 양식
받기.
-다운받은 파일을 LibreOffice로 열기
오늘 써볼 쉘 스크립트.
#!/bin/sh ->스크립트 해석할 프로그램 지정
가장 첫줄부터...
curl 패키지를 설치하는 명령어.
#echo는 터미널에 문자를 출력합니다.
echo "curl 패키지를 설치합니다"
#저장소 정보 업데이트
sudo apt-get update
#apt를 이용하여 curl 설치
sudo apt-get install curl
curl로 특정 url로부터 파일 받는 명령어
#curl로 파일 다운로드
curl -O http://licube.kr.
pe/intranet/wp-
content/uploads/sites/2/2013/05/동아
리활동-보고서.doc
특정 프로그램으로 특정 파일 실행
#libreoffice로 다운받은 파일 실행
libreoffice 동아리활동-보고서.doc
#!/bin/sh
#echo는 터미널에 문자를 출력합니다.
echo "curl 패키지를 설치합니다"
#저장소 정보 업데이트
sudo apt-get update
#apt를 이용하여 curl 설치
sudo apt-get install curl
#curl로 파일 다운로드
curl -O http://licube.kr.
pe/intranet/wp-
content/uploads/sites/2/2013/05/동아리
활동-보고서.doc
#libreoffice로 다운받은 파일 실행
libreoffice 동아리활동-보고서.doc
저장 및 실행하기.
저장할때는 확장자를 .sh로 저장 (쉘 스크립트
확장자는 .sh)
실행하기.
실행하기에 앞서, 아래와 같은 명령어로. 스크립
트 파일에 실행파일에 권한 주기.
chmod u+rx (파일이름)
(예시)
chmod u+rx getform.sh
실행하기.
아래과 같은 명령어로 실행.
./(파일이름)
(예시)
./getform.sh
Q&A
질문 받습니다.
Shell Script 작성방법 더 알아보기.
Shell Script 작성 방법에 대해 더 자세히 알고 싶
거나, 좀더 어려운 부분을 알고 싶으면. 아래
URL을 방문하세요.
http://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-
HOWTO/index.html
끝
감사합니다.

Weitere ähnliche Inhalte

Andere mochten auch

프로토추천♬♬W­Е­4­9­닷­С­О­М♬♬고액배팅사이트め고액배팅사이트め프로토
프로토추천♬♬W­Е­4­9­닷­С­О­М♬♬고액배팅사이트め고액배팅사이트め프로토프로토추천♬♬W­Е­4­9­닷­С­О­М♬♬고액배팅사이트め고액배팅사이트め프로토
프로토추천♬♬W­Е­4­9­닷­С­О­М♬♬고액배팅사이트め고액배팅사이트め프로토itsming
 
Bash-as-a-Interpreter
Bash-as-a-InterpreterBash-as-a-Interpreter
Bash-as-a-InterpreterJuhwan Yun
 
오래된 프로젝트에 Jenkins 적용해보기
오래된 프로젝트에 Jenkins 적용해보기오래된 프로젝트에 Jenkins 적용해보기
오래된 프로젝트에 Jenkins 적용해보기용호 최
 
Introduction to Linux #1
Introduction to Linux #1Introduction to Linux #1
Introduction to Linux #1UNIST
 
Jco14 오픈소스를 이용한 모니터링 방법
Jco14 오픈소스를 이용한 모니터링 방법Jco14 오픈소스를 이용한 모니터링 방법
Jco14 오픈소스를 이용한 모니터링 방법정수 한
 
이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱Jong Wook Kim
 
1주차 리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
1주차   리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져1주차   리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
1주차 리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져Chulgyu Shin
 
Sha 2 기반 인증서 업그레이드 이해
Sha 2 기반 인증서 업그레이드 이해Sha 2 기반 인증서 업그레이드 이해
Sha 2 기반 인증서 업그레이드 이해InGuen Hwang
 
Medical Wiki Project
Medical Wiki ProjectMedical Wiki Project
Medical Wiki ProjectKwangmo Yang
 
[2015-05-22] Oracle Ways of Concurrency Control
[2015-05-22] Oracle Ways of Concurrency Control[2015-05-22] Oracle Ways of Concurrency Control
[2015-05-22] Oracle Ways of Concurrency ControlSeok-joon Yun
 
[2015-06-05] Oracle TX Lock
[2015-06-05] Oracle TX Lock[2015-06-05] Oracle TX Lock
[2015-06-05] Oracle TX LockSeok-joon Yun
 
MariaDB Other Features
MariaDB Other FeaturesMariaDB Other Features
MariaDB Other FeaturesJongJin Lee
 
서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)Choonghyun Yang
 
[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstat
[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstat[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstat
[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstatSeok-joon Yun
 
MariaDB
MariaDBMariaDB
MariaDBymtech
 

Andere mochten auch (18)

프로토추천♬♬W­Е­4­9­닷­С­О­М♬♬고액배팅사이트め고액배팅사이트め프로토
프로토추천♬♬W­Е­4­9­닷­С­О­М♬♬고액배팅사이트め고액배팅사이트め프로토프로토추천♬♬W­Е­4­9­닷­С­О­М♬♬고액배팅사이트め고액배팅사이트め프로토
프로토추천♬♬W­Е­4­9­닷­С­О­М♬♬고액배팅사이트め고액배팅사이트め프로토
 
Bash-as-a-Interpreter
Bash-as-a-InterpreterBash-as-a-Interpreter
Bash-as-a-Interpreter
 
Linux tutorial
Linux tutorialLinux tutorial
Linux tutorial
 
오래된 프로젝트에 Jenkins 적용해보기
오래된 프로젝트에 Jenkins 적용해보기오래된 프로젝트에 Jenkins 적용해보기
오래된 프로젝트에 Jenkins 적용해보기
 
Introduction to Linux #1
Introduction to Linux #1Introduction to Linux #1
Introduction to Linux #1
 
Jco14 오픈소스를 이용한 모니터링 방법
Jco14 오픈소스를 이용한 모니터링 방법Jco14 오픈소스를 이용한 모니터링 방법
Jco14 오픈소스를 이용한 모니터링 방법
 
이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱이것이 리눅스다 - 김종욱
이것이 리눅스다 - 김종욱
 
1주차 리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
1주차   리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져1주차   리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
1주차 리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
 
Sha 2 기반 인증서 업그레이드 이해
Sha 2 기반 인증서 업그레이드 이해Sha 2 기반 인증서 업그레이드 이해
Sha 2 기반 인증서 업그레이드 이해
 
Medical Wiki Project
Medical Wiki ProjectMedical Wiki Project
Medical Wiki Project
 
L4교육자료
L4교육자료L4교육자료
L4교육자료
 
[2015-05-22] Oracle Ways of Concurrency Control
[2015-05-22] Oracle Ways of Concurrency Control[2015-05-22] Oracle Ways of Concurrency Control
[2015-05-22] Oracle Ways of Concurrency Control
 
[2015-06-05] Oracle TX Lock
[2015-06-05] Oracle TX Lock[2015-06-05] Oracle TX Lock
[2015-06-05] Oracle TX Lock
 
Oracle History #9
Oracle History #9Oracle History #9
Oracle History #9
 
MariaDB Other Features
MariaDB Other FeaturesMariaDB Other Features
MariaDB Other Features
 
서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)
 
[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstat
[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstat[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstat
[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstat
 
MariaDB
MariaDBMariaDB
MariaDB
 

Ähnlich wie 간단한 쉘 스크립트 작성하기

셸 스크립트를 이용한 클라우드 시스템 운영
셸 스크립트를 이용한 클라우드 시스템 운영셸 스크립트를 이용한 클라우드 시스템 운영
셸 스크립트를 이용한 클라우드 시스템 운영Nalee Jang
 
우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기Hoyoung Jung
 
Assembly 스터디 1
Assembly 스터디 1Assembly 스터디 1
Assembly 스터디 1Jinkyoung Kim
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)Ildoo Kim
 
Docker.소개.30 m
Docker.소개.30 mDocker.소개.30 m
Docker.소개.30 mWonchang Song
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기KwangSeob Jeong
 
Zeppelin(Spark)으로 데이터 분석하기
Zeppelin(Spark)으로 데이터 분석하기Zeppelin(Spark)으로 데이터 분석하기
Zeppelin(Spark)으로 데이터 분석하기SangWoo Kim
 
리얼리눅스 제 1 회 세미나: "리눅스, 제대로 알고 코딩하자!"
리얼리눅스 제 1 회 세미나: "리눅스, 제대로 알고 코딩하자!"리얼리눅스 제 1 회 세미나: "리눅스, 제대로 알고 코딩하자!"
리얼리눅스 제 1 회 세미나: "리눅스, 제대로 알고 코딩하자!"리얼리눅스
 
XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기
XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기
XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기XpressEngine
 
aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편negabaro
 
강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계chcbaram
 
소프트웨어의 계층구조
소프트웨어의 계층구조소프트웨어의 계층구조
소프트웨어의 계층구조Wonjun Hwang
 
[ES6] 1. let과 const
[ES6] 1. let과 const[ES6] 1. let과 const
[ES6] 1. let과 constHan JaeYeab
 
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연Joohyun Han
 
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013devCAT Studio, NEXON
 

Ähnlich wie 간단한 쉘 스크립트 작성하기 (20)

셸 스크립트를 이용한 클라우드 시스템 운영
셸 스크립트를 이용한 클라우드 시스템 운영셸 스크립트를 이용한 클라우드 시스템 운영
셸 스크립트를 이용한 클라우드 시스템 운영
 
우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기
 
Assembly 스터디 1
Assembly 스터디 1Assembly 스터디 1
Assembly 스터디 1
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)
 
Docker.소개.30 m
Docker.소개.30 mDocker.소개.30 m
Docker.소개.30 m
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Zeppelin(Spark)으로 데이터 분석하기
Zeppelin(Spark)으로 데이터 분석하기Zeppelin(Spark)으로 데이터 분석하기
Zeppelin(Spark)으로 데이터 분석하기
 
리얼리눅스 제 1 회 세미나: "리눅스, 제대로 알고 코딩하자!"
리얼리눅스 제 1 회 세미나: "리눅스, 제대로 알고 코딩하자!"리얼리눅스 제 1 회 세미나: "리눅스, 제대로 알고 코딩하자!"
리얼리눅스 제 1 회 세미나: "리눅스, 제대로 알고 코딩하자!"
 
Node.js intro
Node.js introNode.js intro
Node.js intro
 
XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기
XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기
XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기
 
JetsonTX2 Python
 JetsonTX2 Python  JetsonTX2 Python
JetsonTX2 Python
 
aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편
 
강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계
 
소프트웨어의 계층구조
소프트웨어의 계층구조소프트웨어의 계층구조
소프트웨어의 계층구조
 
Shellcode
ShellcodeShellcode
Shellcode
 
[ES6] 1. let과 const
[ES6] 1. let과 const[ES6] 1. let과 const
[ES6] 1. let과 const
 
llvm 소개
llvm 소개llvm 소개
llvm 소개
 
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
 
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013
 

Mehr von licubeclub

오픈소 스소프트웨어(한영빈/2014)
오픈소 스소프트웨어(한영빈/2014)오픈소 스소프트웨어(한영빈/2014)
오픈소 스소프트웨어(한영빈/2014)licubeclub
 
루트(root)에 대해
루트(root)에 대해루트(root)에 대해
루트(root)에 대해licubeclub
 
오픈소스 소프트웨어(박준영/2014)
오픈소스 소프트웨어(박준영/2014)오픈소스 소프트웨어(박준영/2014)
오픈소스 소프트웨어(박준영/2014)licubeclub
 
버추얼박스에 우분투그놈 14.04LTS 설치하기
버추얼박스에 우분투그놈 14.04LTS 설치하기버추얼박스에 우분투그놈 14.04LTS 설치하기
버추얼박스에 우분투그놈 14.04LTS 설치하기licubeclub
 
What is linux(2014)
What is linux(2014)What is linux(2014)
What is linux(2014)licubeclub
 
2014학년도 LiCUBE 오리엔테이션
2014학년도 LiCUBE 오리엔테이션2014학년도 LiCUBE 오리엔테이션
2014학년도 LiCUBE 오리엔테이션licubeclub
 
클라우드 스토리지 프로젝트
클라우드 스토리지 프로젝트클라우드 스토리지 프로젝트
클라우드 스토리지 프로젝트licubeclub
 
디스플레이 매니저
디스플레이 매니저디스플레이 매니저
디스플레이 매니저licubeclub
 
대표적인 디스플레이 서버
대표적인 디스플레이 서버대표적인 디스플레이 서버
대표적인 디스플레이 서버licubeclub
 
컴피즈로 화려한 효과내기
컴피즈로 화려한 효과내기컴피즈로 화려한 효과내기
컴피즈로 화려한 효과내기licubeclub
 
데스크탑 환경 구성요소
데스크탑 환경 구성요소데스크탑 환경 구성요소
데스크탑 환경 구성요소licubeclub
 
오픈소스 라이센스
오픈소스 라이센스 오픈소스 라이센스
오픈소스 라이센스 licubeclub
 
대표적인 오픈소스 프로젝트
대표적인 오픈소스 프로젝트대표적인 오픈소스 프로젝트
대표적인 오픈소스 프로젝트licubeclub
 
데비안 패키지 관리하기.
데비안 패키지 관리하기.데비안 패키지 관리하기.
데비안 패키지 관리하기.licubeclub
 
루팅(Rooting)에 관해
루팅(Rooting)에 관해루팅(Rooting)에 관해
루팅(Rooting)에 관해licubeclub
 
What is linux
What is linux What is linux
What is linux licubeclub
 
2013년도 licube 오리엔테이션
2013년도 licube 오리엔테이션2013년도 licube 오리엔테이션
2013년도 licube 오리엔테이션licubeclub
 
The opensource
The opensourceThe opensource
The opensourcelicubeclub
 

Mehr von licubeclub (18)

오픈소 스소프트웨어(한영빈/2014)
오픈소 스소프트웨어(한영빈/2014)오픈소 스소프트웨어(한영빈/2014)
오픈소 스소프트웨어(한영빈/2014)
 
루트(root)에 대해
루트(root)에 대해루트(root)에 대해
루트(root)에 대해
 
오픈소스 소프트웨어(박준영/2014)
오픈소스 소프트웨어(박준영/2014)오픈소스 소프트웨어(박준영/2014)
오픈소스 소프트웨어(박준영/2014)
 
버추얼박스에 우분투그놈 14.04LTS 설치하기
버추얼박스에 우분투그놈 14.04LTS 설치하기버추얼박스에 우분투그놈 14.04LTS 설치하기
버추얼박스에 우분투그놈 14.04LTS 설치하기
 
What is linux(2014)
What is linux(2014)What is linux(2014)
What is linux(2014)
 
2014학년도 LiCUBE 오리엔테이션
2014학년도 LiCUBE 오리엔테이션2014학년도 LiCUBE 오리엔테이션
2014학년도 LiCUBE 오리엔테이션
 
클라우드 스토리지 프로젝트
클라우드 스토리지 프로젝트클라우드 스토리지 프로젝트
클라우드 스토리지 프로젝트
 
디스플레이 매니저
디스플레이 매니저디스플레이 매니저
디스플레이 매니저
 
대표적인 디스플레이 서버
대표적인 디스플레이 서버대표적인 디스플레이 서버
대표적인 디스플레이 서버
 
컴피즈로 화려한 효과내기
컴피즈로 화려한 효과내기컴피즈로 화려한 효과내기
컴피즈로 화려한 효과내기
 
데스크탑 환경 구성요소
데스크탑 환경 구성요소데스크탑 환경 구성요소
데스크탑 환경 구성요소
 
오픈소스 라이센스
오픈소스 라이센스 오픈소스 라이센스
오픈소스 라이센스
 
대표적인 오픈소스 프로젝트
대표적인 오픈소스 프로젝트대표적인 오픈소스 프로젝트
대표적인 오픈소스 프로젝트
 
데비안 패키지 관리하기.
데비안 패키지 관리하기.데비안 패키지 관리하기.
데비안 패키지 관리하기.
 
루팅(Rooting)에 관해
루팅(Rooting)에 관해루팅(Rooting)에 관해
루팅(Rooting)에 관해
 
What is linux
What is linux What is linux
What is linux
 
2013년도 licube 오리엔테이션
2013년도 licube 오리엔테이션2013년도 licube 오리엔테이션
2013년도 licube 오리엔테이션
 
The opensource
The opensourceThe opensource
The opensource
 

간단한 쉘 스크립트 작성하기