10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

Similar documents
Microsoft PowerPoint - 02-Shell-Programming

Microsoft Word - Lab_080104A.docx

<4D F736F F F696E74202D20BFEEBFB5C3BCC1A6BDC7BDC D31C7D0B1E229202D20BDA92E BC8A3C8AF20B8F0B5E55D>

Linux SHELL

Microsoft PowerPoint UNIX Shell.ppt

Linux SHELL

Microsoft PowerPoint UNIX Shell.pptx

Tcl의 문법

PowerPoint 프레젠테이션

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

OCW_C언어 기초

윈도우즈프로그래밍(1)

Microsoft PowerPoint - chap-03.pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - 게시물2 - unix07.ppt [호환 모드]

PHPoC vs PHP > 개요 개요 PHPoC 는솔내시스템 이자체개발한프로그래밍언어입니다. 당사의모든 PHPoC 제품들의펌웨어에는 PHPoC 인터프리터가내장되어있습니다. PHPoC 는범용스크립트언어인 PHP 를기반으로제작되었습니다. PHPoC 는매우간단하여 C 언어등


Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - 05_(Linux)_(Fundamental)_Shell_Programming

PowerPoint 프레젠테이션

Microsoft PowerPoint - Java7.pptx

untitled

Microsoft PowerPoint - ch01.ppt

Microsoft PowerPoint - u5.pptx

Microsoft PowerPoint - Lesson2.pptx

Microsoft PowerPoint - chap04-연산자.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - c2.ppt

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Columns 8 through while expression {commands} 예제 1.2 (While 반복문의이용 ) >> num=0

슬라이드 1

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Java ...

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

C 언어 프로그래밊 과제 풀이

<BBE7B6FBB9E B0A1C0BBC0DBBEF7C1DF2E696E6464>

< C6EDC1FDBABB2E687770>

<FEFF E002D B E E FC816B CBDFC1B558B202E6559E830EB C28D9>

1 Shell script What the shell?

Microsoft PowerPoint - e pptx

PowerPoint 프레젠테이션

치밀한 시간 계산으로 한 치의 오차 없이 여행일정을 계획하지만, 상황이 항상 뜻대로 돌 아가지는 않는다. 인도에서는 철로가 끊겨 있기도 하고, 미국에서는 인디언의 공격을 받 기도 한다. 하지만 그는 항상 침착하고 냉정한 태도를 유지하며, 때로는 일정에 차질이 생 겨도

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

는 우연히 안나를 알게 되고, 이후 두 사람은 서로 격렬한 사랑에 빠진다. 결국 안나가 브 론스키의 아이를 임신하게 되자, 브론스키는 안나가 카레닌과 이혼하고 자기와 함께 새로 운 생활을 하길 바라지만, 안나는 아들 때문에 망설인다. 한편, 카레닌은 브론스키를 사랑 한

Microsoft PowerPoint - chap01-C언어개요.pptx

Visual Basic 반복문

17장 클래스와 메소드

쿠폰형_상품소개서

금오공대 컴퓨터공학전공 강의자료

No Title

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

Microsoft PowerPoint - chap-06.pptx

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

PowerPoint Presentation

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013.

Microsoft PowerPoint - chap-02.pptx

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 02. 표준 입출력

PowerPoint 프레젠테이션

Infinity(∞) Strategy

프로그래밍 Company 서울대학교통계학과 2010년 2학기컴퓨터의개념및실습 ( 1

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Microsoft PowerPoint - comp_prac_081223_2.pptx

슬라이드 1

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

텀블러514

2힉년미술

금오공대 컴퓨터공학전공 강의자료

4장.문장

<B1B9BEEEBEEEC8D6B7C25FB9AEB9FDBEEEC8D E687770>

슬라이드 1

Microsoft PowerPoint 자바스크립트(1).pptx

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-2pointer.ppt

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

ksh프로그램문법.ppt

설계란 무엇인가?

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

2015년 2월 12일 사랑의 동삭교육 제 호 (2월) 년 2월 12일 사랑의 동삭교육 제 호 (2월) 6 겨울이 되면 1-4 박지예 겨울이 되면 난 참 좋아. 겨울이 되면 귀여운 눈사람도 만들고 겨울이 되면 신나는 눈싸움도 하고 겨울이

PowerPoint Template

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

Microsoft PowerPoint - CSharp-10-예외처리

장: 200 세외수입 관: 210 경상적세외수입 항: 213 수수료수입 (단위:천원) [ 일반회계 ] 1,405,842 1,399,860 5,982 < 청소행정과 > 1,028,442 1,022,460 5,982 사업장종량제봉투 제작비용(30L) 79.43원*30,00

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

C 프로그래밊 개요

Microsoft PowerPoint - 2주차-1차시 (강의자료) ch01 - C Programming 기초 (part 2)

Adobe Flash 취약점 분석 (CVE )

Microsoft PowerPoint 웹 연동 기술.pptx

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

제1장 Unix란 무엇인가?

Transcription:

10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행 쉘스크립트언어 일반적으로.sh 라는확장자를가짐 01 : 02 : echo Heo Linux 01 : 는해당스크립트를실행하기위한쉘의경로 02 : 실제명령 스크립트파일에실행권한을부여해야실행가능 chmod u+x myscript.sh./ 파일명 으로실행 예 :./myscript.sh 쉘스크립트예 mydir 파일을작성한후실행권한을부여하고실행함 vi mydir 로파일을편집 (i로입력모드, <Esc> 로명령모드, ZZ) s * > ~/mydir.txt cat ~/mydir.txt more 실행권한부여 chmod 'u+x,g+x' mydir 또는 chmod +x mydir 실행./mydir 리다이렉션 (redirection) 리다이렉션은입력과출력의방향을파일로바꾸는것 표준입력 (stdin), 표준출력 (stut), 표준에러 (stderr) 표준입력을파일로지정 : < 또는 << 사용 표준출력을파일로지정 : > 또는 >> 사용 예 : cat x y > hod

표준에러를파일로지정 예 : cat x y 2> hod 표준에러를파일로, 표준출력을표준에러로보내기 예 : cat x y 2> hod 1>&2 쉘스크립트와변수 환경변수 초기설정에대한정보를저장하는변수 : HOME, PATH 등 특수변수 쉘프로그램에전달되는특수변수 $ { 인수번호 } : 명령행인수 (argument) $? : 직전명령의상태값 $# : 명령행인수의개수 예 : echo $0 $1 또는 s $ {1 } > ~/mydir.txt 프로그램변수 쉘스크립트의변수는필요시선언하여사용할수있음 변수의데이터타입 ( 숫자, 문자, 문자열 ) 을정할필요없음 변수선언 변수명 = 값 STR="Have a good day!" echo $STR 조건문 조건이만족되면수행 (if~) a=10 b=20 if [ $a -t $b ]; then echo $b 조건이만족되거나조건이만족되지않을때 (if~ ) if [ $ {1 } -gt $ {2 } ]; then echo $ {1 } echo $ {2 } 여러조건이주어지거나아무조건도만족되지않을때 (if~ eif~ )

if [ $ {1 } -t 1 ]; then echo "Less than 1" eif [ $ {1 } -gt 3 ]; then echo "Greater than 3" if [ $ {1 } -eq 1 ]; then echo "one" eif [ $ {1 } -eq 2 ]; then echo "two" eif [ $ {1 } -eq 3 ]; then echo "three" 조건검사 test 조건식또는 [ 조건식 ] 정수비교조건식 A eq B : A와 B의값이같음 예 : if [ $# -eq 0 ] ($# 은명령행인수의개수 ) A ne B : A와 B의값이같지않음 A gt B : A가 B보다큼 A t B : A가 B보다작음 A ge B : A가 B보다크거나같음 A e B : A가 B보다작거나같음 문자열비교조건식 string1 = string2 : string1과 string2가같음 ( 또는 ==) 예1 : if [ $1 = hi ] 예2 : if test $1 == "hi" string1!= string2 : string1과 string2가같지않음 예 : if [ $1!= 'bye' ] string : string이정의되어있고 NULL 이아님 -z string : string이정의되어있지않거나 NULL 임 파일비교조건식 -e e : e이존재함 -f e : e이존재하며일반파일이고디렉터리가아님 -d dir : dir이존재하며디렉터리임 -r( 또는 w, x) e : e이존재하며읽기 ( 또는쓰기, 실행 ) 가능

논리연산! 표현식 : NOT을표현조건식1 a 조건식2 : AND을표현조건식1 o 조건식2 : OR을표현 따옴표의의미 ' ' : 안의내용을해석하지않음. 특수문자를일반문자로취급 예 : echo '"$PATH"' ( 안에적힌문자열이그대로출력됨 ) " " : 마찬가지로특수문자를일반문자로취급. 단, 특수문자 $, \, ` 는해석함 예 : echo "'$PATH'" (PATH에설정된경로가 내부에출력됨 ) ` ` 또는 $( ) : 안의내용을실행 (command substitution) 예1 : echo "Today is `date` 또는 : echo "Today is $(date)" 예2 : echo $( expr 3 \* 7 ) 연산자 산술연산자 +, -, *, /, % : 더하기, 빼기, 곱하기, 나누기, 나머지 예 : sum = $(expr $a + $b) 예 : mu = $(expr $a \* $b) <- 백슬래시를사용해야함 예 : mod = `expr $a % $b` 논리연산자!, &&, : NOT, AND, OR 예 : if [ $# -gt 0 ] && [ $# -t 4 ] 예 : if [$# -gt 0 -a $# -t 4 ] <- 대괄호안에서 a를사용함 순환문 ~ ne 사이의구문을지정한조건만큼반복순환문의종류 : for, whie, unti for 문 : 각원소에대해구문을수행 whie 문 : 조건이참인동안구문을수행 unti 문 : 조건이거짓인동안구문을수행 순환문 - for 문 for 변수 in ist1 ist2 ist3 또는 for (( 초기값 ; 조건 ; 증가식 )) 문장 ( 들 ) ne for 문조건의예 예1 : for num in 1 2 3 4 5 6 7 8 9 예2 : for (( num=1; num<=9; num++ )) for 순환문사용예

if [ $# -eq 0 ]; then echo "Usage: $0 integer_number" # for num in 1 2 3 4 5 6 7 8 9 for ((num= 1; num<= 9; num++) ) echo " $1 * $num = ` expr $1 \* $num ` " ne 순환문 - whie 문 whie 조건 문장 ( 들 ) ne whie 문조건의예 예1 : whie [ $num e 9 ] 예2 : whie test $num e 9 whie 순환문사용예 if [ $# -eq 0 ]; then echo "Usage: $0 integer_number" num=1 whie [ $num -e 9 ] echo " $1 * $num = $(expr $1 \* $num) " num=`expr $num + 1` ne 순환문 - unti 문 unti 조건 문장 ( 들 ) ne unti 문조건의예 예1 : unti [ $num gt 9 ] 예2 : unti test $num gt 9 unti 문사용예

if [ $# -eq 0 ]; then echo "Usage: $0 integer_number" num=1 unti [ $num -gt 9 ] echo " $1 * $num = $(expr $1 \* $num) " num=` expr $num + 1 ` ne 함수 특정한일을수행하는기능이구현된코드블록 함수정의 function 함수명 { 문장 ( 들 ) } 함수호출방법 함수명또는함수명인자 ( 들 ) 함수사용예 function mut() { for ((i=1; i<=9; i++)) echo " $1 * $i = `expr $1 \* $i` " ne } if [ $# -eq 0 ]; then for ((num=1; num<=9; num++)) mut $num ne mut $1 디버깅 쉘스크립트의첫번째행에 x 를추가

x 실행과정을자세히보여줌 다음문제의정답을고르시오. 13. BASH 쉘에서다음중 abc라는쉘스크립트를디버깅모드에서실행하는옵션은? 1 sh d abc 2 sh -c abc 3 sh s abc 4 sh -x abc 다음문제에대한정답을서술하시오. 16. 다음과같이입력한숫자대로삼각형을출력하는쉘스크립트를작성하시오. Number : 4 **** *** ** * echo -n "Input : " read num whie [ 1 -e $num ] num2=1 whie [ $num2 -e $num ] echo -n "*" et num2=num2+1 ne echo et num=num-1 ne 17. 점수를입력받아입력한점수에대하여학점 (A, B, C, D, F) 으로환산해주는쉘스크립트를작성하시오. 점수의처리조건 A 학점 : 90점이상 B 학점 : 80점이상 C 학점 : 70점이상 D 학점 : 60점이상 F 학점 : 60점미만 처리형태 input : 93

A thank you! bye~! echo -n "input : " read num if [ $num -ge 90 ]; then echo A eif [ $num -ge 80 ]; then echo "B" eif [ $num -ge 70 ]; then echo "C" eif [ $num -ge 60 ]; then echo "D" echo "F" echo "thank you! bye~"