1 / 14

Lecture 5. 기본 셸 프로그래밍

Lecture 5. 기본 셸 프로그래밍. Spring 2006 Course, Sungkyunkwan University Hyunseung Choo choo@ece.skku.ac.kr. 내용. 셸 스크립트와 함수 셸 변수 문자열 연산자 명령 대체. 셸 스크립트와 함수. 셸 스크립트 정의 셸 명령들을 나열한 파일 실행 권한 부여 chmod +x scriptname 실행 방법 source scriptname ./scriptname. 셸 스크립트와 함수. 셸 스크립트 차이점.

Download Presentation

Lecture 5. 기본 셸 프로그래밍

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 5. 기본 셸 프로그래밍 Spring 2006 Course, Sungkyunkwan University Hyunseung Choo choo@ece.skku.ac.kr

  2. 내용 • 셸 스크립트와 함수 • 셸 변수 • 문자열 연산자 • 명령 대체

  3. 셸 스크립트와 함수 • 셸 스크립트 • 정의 • 셸 명령들을 나열한 파일 • 실행 권한 부여 • chmod +x scriptname • 실행 방법 • source scriptname • ./scriptname

  4. 셸 스크립트와 함수 • 셸 스크립트 • 차이점 source alice hatter gryphon % 셸 : ./alice % 셸 : hatter gryphon 하위 셸 : % ./alice & 셸 : hatter gryphon 하위 셸 :

  5. 셸 스크립트와 함수 • 함수 • 특징 • 수행속도가 빠름 • 모듈 방식의 코드 구성이 용이함 • 함수 정의하기 • 함수 해제 하기 • unset –f functname • 함수 정의 확인하기 • declare –f function functname { shell commands } functname() { shell commands } ※ createfunc, dodo

  6. 셸 변수 • Introduction • 변수 : 데이터를 담는 그릇 • 변수명 앞에 ‘$’를 붙여서 다룸 • 내장 변수, 환경 변수 • 위치 매개변수 (positional parameters) • $1, $2, $3, … • 매개변수로 넘어온 매개변수 • $* • 모든 위치 매개변수로 구성된 단일 문자열 • $@ • “$1”, “$2”, “$3”, … “$n” • n 개의 독립된 문자열 • 함수에서도 동일하게 사용 ※ alice

  7. 셸 변수 • 위치 매개변수 • 전역적 변수 script ascript var $var1 - only script $0 var $1 - only function $2 var - script & function function afunc $1 $2 ※ ascript

  8. 셸 변수 • 함수의 지역변수 script ascript $var1 var $0 - only script $1 var - only function $2 var function afunc - script & function $var1 $1 $2 ※ ascript

  9. 셸 변수 • $@와 $*의 인용부호 처리 • $*는 IFS를 구분자로 사용한 단일 문자열 • $@는 인용부호 처리한 n개의 독립 문자열 Arguments : arg1 arg2 arg3 arg4 IFS : ‘,’ $* : “arg1,arg2,arg3,arg4” $@ : “arg1”, “arg2”, ”arg3”, “arg4” ※ countarg

  10. 셸 변수 • 변수의 추가 문법 내용 • ${varname} • 변수 이름을 보다 확실하게 선언 • echo ${UID}_ • cf) echo $UID_ • 매개변수가 10개 이상인 경우 • ${10}, ${11}, … • cf) $10, $11, … ※ tenargs

  11. 문자열 연산자 • 문자열 연산자들 ※ stringop

  12. 문자열 연산자 • 문자열 연산자들 구문 결과 ${path##/*/} /home/cam/book/long.file.name ${path#/*/} /home/cam/book/long.file.name $path /home/cam/book/long.file.name ${path%.*} /home/cam/book/long.file.name ${path%%.*} /home/cam/book/long.file.name ※ echopath

  13. 명령 대체 • 쓰임 • 유닉스 명령어의 표준 출력 결과를 변수로 사용 • 문법 • $(command) • 예 • $(pwd) • $(ls $HOME) • $(ls $(pwd)) ※ mailtoall

  14. 강의 중 실습 내용 • 실행 • 1 • % source filename • % declare –f • 2 • % source filename • % type –all dodo • 3 ~ 9 • % filename • 소스파일들 • createfunc • dodo • alice • ascript • countarg • tenargs • stringop • echopath • mailtoall • 다음 명령어를 이용해서 복사 • cp /user9/2000US/imcliff/practice4/4thweek/* ~/mybin/

More Related