1 / 21

SHELL Script ? 04 Spring SPARCS

SHELL Script ? 04 Spring SPARCS. Yiseul Cho (idewi@sparcs.kaist.ac.kr). INDEX. SHELL SHELL& SHELL Script SHELL Script EX SYNTAX 복습 HW ★ REFERENCE. user. Shell. user. 커널. user. 1. Shell. Interface between user and kernel Command Interpreter Bourn Shell C Shell Korn Shell

azura
Download Presentation

SHELL Script ? 04 Spring SPARCS

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. SHELLScript ?04 Spring SPARCS Yiseul Cho (idewi@sparcs.kaist.ac.kr)

  2. INDEX • SHELL • SHELL& SHELL Script • SHELL Script EX • SYNTAX • 복습 • HW ★ • REFERENCE

  3. user Shell user 커널 user 1.Shell • Interface between user and kernel • Command Interpreter • Bourn Shell • C Shell • Korn Shell • Bash • Tcsh

  4. 1.5 Shell & Shell Script • Shell Script란? 명령어들의 모음 ( +간단한 구조화 프로그래밍) Shell 프로그램 시스템 콜, 여러 프로그래밍 도구들, 유틸리티, 실행파일, 쉘 내부명령어 등

  5. 2.Shell Script EX - =_=;

  6. 2.1 Shell Script EX- Korea Herald 오늘 날짜의 영자 신문 을 보여준다

  7. 2.2 Shell Script EX– Process Control #!/bin/bash Process=$* Num=`pidof $Process` kill –s 9 $Num exit 0

  8. # comments… list; list; list; … list | list | list … list && list || list … list < input > output list & (list) `list` “list”‘list’ { list;} name=value name () { list;} 3. Basic Syntax

  9. 유닉스툴에서 배웠을 내용 복습 • Pipelining • Redirection • Job control • 그밖에 shell commands

  10. if list; then list; [elif list; then list; ] ... [ else list; ] fi 3.1 Syntax(1) - if #주인을 알아보는 프로그램 ^^;; #!/usr/bin/bash me=$1; If [“$me”=“idewi”]; then echo “Hi~”; else echo “$1, who are u -_-?”; fi

  11. 3.2 Syntax(2)- for • forarg in [list] do command... done

  12. case "$variable" in "$condition1" ) command...;; "$condition2" ) command...;; esac #!/bin/bash echo "아무키나 누른 다음 리턴을 치세요." read Keypress case "$Keypress" in [a-z] ) echo "소문자";; [A-Z] ) echo "대문자";; [0-9] ) echo "숫자";; * ) echo "구두점이나, 공백 문자 등등";; esac # [대괄호]속 범위의 문자들을 받아 들입니다. exit 0 3.3 Syntax(3)- case

  13. #!/usr/local/bin/bash for i in`cat /SPARCS/mail/aliases.d /sparcs2003`; do finger $i | egrep -h 'Last login' >/home/idewi/homework/$i; done; tar cvzf airlover.tar.gz /home/idewi/homework; ls /home/idewi/homework ; exit 0; #!/usr/local/bin/bash lynx -dump keyterms.html | cat > imsi; a=$((`wc -l < imsi`/2)); cat imsi | tail -$a | cut -c52- > imsi2 ; rm -f imsi; for i in `cat imsi2`; do echo $i | cut -c60-; lynx -dump "../$i"; done; exit 1; 4. 복습 Example

  14. 5. HW • 지금까지 본 Shell Script 무슨 일을 하는가? 왜 쓸까? 편리하다 많이 쓰자 ^^

  15. 그렇다면 숙제는? • 모두 nugu의 개인 정보중 생일 정보를 입력한다. • nugu를 이용해서 04학번 회원들의 이름 아이디 생일의 정보만을 추려낸 파일을 생성해서 idewi회원에게 메일을 보낸다 파일첨부 ^^ 힌트는 세미나시간중에…ㅎㅁㅎ/~

  16. 6. Reference • http://doc.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/index.html • http://doc.kldp.org/Translations/html/Sed-KLDP/introduction.html • UNIX IN A NUTSHELL

  17. INTERFACE? • 사용자에게 컴퓨터를 편리하게 사용할 수 있는 환경을 제공하는 설계 내용. • 사용자가 컴퓨터나 프로그램과 의사소통을 하고 쉽고 편리하게 사용할 수 있도록 하는 것이 목적이다.

  18. File File Program Program Redirection & pipe < > | Etc.. >> << <<< 2>&1 2> &>…

  19. 커널 • kernel(알멩이)이라는 이름에서 보듯이, 커널이란, 유닉스 시스템이 시작될 때 - 이것을 흔히 부팅 작업 이라고 하지요 -, 가장 먼저 읽혀지는 핵심 부분입니다. 커널은 그 시스템의 모든 자원을 관리하고, 당신이 어떤한 자원을 요청할 때, 그것을 준비해서 당신의 타당한 작업을 할 수 있도록 해 줍니다. 굳이 당신이 그 커널 자체에 대해서 모두 알아야 할 필요는 없습니다. 중요한 것은 커널이 이런 것이고, 이러한 작업을 한다는 것 정도만 알아도 충분할 것입니다. • File Management System, Memory Management System, Process Management System

  20. 대문자 소문자 바꾸기 • 주석지우기 (#!은 제외) • 로긴과 동시에 새메일의 도착여부를 알림 &지난번 로긴후의 흐른 시간도 함께 ^^;

  21. 오늘의 영자 신문 긁어오기 한방에 프로세스 kill 하기 >_< (pidof & kill) 메일을 읽은 시간 학번별로 정리해서 보여주는 스크립트 (finger에서 메일 수신을 알려줄때 procmail을 실행하는 사람은 안됨! && /var/mail 은 퍼미션 권한이 없음 -0-)

More Related