Airlover 20030324 1

25 %
75 %
Information about Airlover 20030324 1

Published on July 18, 2008

Author: Dr.Ravi

Source: slideshare.net

Unix Shell Script 2003/03/24 For SPARCS ’03 김군훈 <airlover@sparcs.kaist>

Index What is shell? Shell configuration & Environment variable. Standard input/output/error, Redirection, Pipelining. Shell script examples. Shell script syntax. Special parameter Making shell. Homework.

What is shell?

Shell configuration & Environment variable.

Standard input/output/error, Redirection, Pipelining.

Shell script examples.

Shell script syntax.

Special parameter

Making shell.

Homework.

What is shell? Command / Interpreter Bourn Shell C Shell Korn Shell Bash Tcsh Kernel Shell Program Program Program User

Command / Interpreter

Bourn Shell

C Shell

Korn Shell

Bash

Tcsh

Bash Configuration .bash_login : Login initialization like .login .bash_logout : Logout actions .bashrc : Shell configuration .bash_profile : Login shell configuration .inputrc : Individual readline initialization file .bash_history : Command history file

.bash_login : Login initialization like .login

.bash_logout : Logout actions

.bashrc : Shell configuration

.bash_profile : Login shell configuration

.inputrc : Individual readline initialization file

.bash_history : Command history file

Environment Variable. PWD Current working directory. PATH The search path. PS1 The primary prompt string. MAIL Filename to check mail. Shell Var. Environ. Var. export - set - env

PWD

Current working directory.

PATH

The search path.

PS1

The primary prompt string.

MAIL

Filename to check mail.

Standard input, output, error Program1 FD Program2 FD 1 - STDOUT 0 - STDIN 2 – STDERR : : : 1 - STDOUT 0 - STDIN 2 – STDERR : : :

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

Script Examples - Start #!/bin/sh mutt telnet ara telnet ska telnet pie

Script Examples(2) – Color Table #!/usr/local/bin/bash esc=&quot;33[&quot; echo -e &quot; 40 41 42 43 44 45 46 47&quot; for fore in 30 31 32 33 34 35 36 37; do line1=&quot;$fore &quot; line2=&quot; &quot; for back in 40 41 42 43 44 45 46 47; do line1=&quot;${line1}${esc}${back};${fore}m 보통 ${esc}0m &quot; line2=&quot;${line2}${esc}${back};${fore};1m 밝은 ${esc}0m &quot; done echo -e &quot;$line1 $line2&quot; done

Script Examples(3) – Dictionary $ sh eng_dic shell shell [LINK] 발음듣기 [INLINE] shell [ [INLINE] 雩 ] n. 1 a 조가비 (seashell); ( 굴의 ) 껍질 b ( 거북 [INLINE] 새우 [INLINE] 게 등의 ) 등딱지 , 껍데기 c ( 콩의 ) 깍지 , 꼬투리 d 시초 ( 翅 ?), 딱지 날개 e ( 번데기의 ) 외피 f ( 과일 [INLINE] 종자 등의 ) 껍질 ; [ pl. ] 카카오 껍질 (cacao shells) #!/bin/sh WORD=$* WORD=$(echo ${WORD} |od -tx1 -w1000 |head -1 |sed -e 's/^[0-9]+ //' -e 's/ 0a$//' -e 's/20/+/g' -e 's/ /%/g' -e 's/^/%/' |tr '[a-z]' '[A-Z]') lynx -nolist -verbose -dump http://kr.engdic.yahoo.com/result.html?p=${WORD} |grep -v &quot;bu2.gif&quot; |tail +14 |tac |tail +11 |tac |sed -e 's/[phon[0-9]+.gif] //g' -e 's/[phon[0-9]+.gif]//g' |less -r

Script Examples(4) – Etc. Automatic install program. Homework submit program. Homework num., source file Delay due Homework marking program. Compare optimized solution Check execution time. Check empty IP address.

Automatic install program.

Homework submit program.

Homework num., source file

Delay due

Homework marking program.

Compare optimized solution

Check execution time.

Check empty IP address.

Shell script syntax - for for name [ in word ] ; do list ; done 102 Name: sparcs.kaist.ac.kr 103 Name: ara.kaist.ac.kr 104 Name: baram.kaist.ac.kr 105 Name: gurum.kaist.ac.kr 106 Name: sparcs6.kaist.ac.kr 107 Name: sparcs7.kaist.ac.kr 108 Name: sparcs8.kaist.ac.kr 109 Name: sparcs9.kaist.ac.kr 110 Name: ftp.kaist.ac.kr . . . . . . . . . . . . . . . . #!/usr/local/bin/bash for ((i=102;i<151;i++)); do data=`nslookup 143.248.234.$i 2> /dev/null| tail +4|head -1`; echo $i $data; done;

for name [ in word ] ; do list ; done

Shell script syntax(2) - if if list; then list; [ elif list; then list; ] ... [ else list; ] fi $ ./diff abc abc abc abc It’s same $ ./diff abcc abcd abcc Abcd It’s different #!/bin/sh echo $1; echo $2; if [ &quot;$1&quot; = &quot;$2&quot; ]; then echo &quot;It's same&quot;; else echo &quot;It's different&quot;; fi

if list; then list; [ elif list; then list; ] ... [ else list; ] fi

Shell script syntax(3) – select select name [ in word ] ; do list ; done 1) Hello 2) Quit #? 1 Hello World #? 2 done #!/usr/local/bin/bash OPTIONS=&quot;Hello Quit&quot; select opt in $OPTIONS; do if [ &quot;$opt&quot; = &quot;Quit&quot; ]; then echo done exit elif [ &quot;$opt&quot; = &quot;Hello&quot; ]; then echo Hello World else clear echo bad option fi done

select name [ in word ] ; do list ; done

Shell script syntax(4) - case case word in [ [(] pattern [ | pattern ] ... ) list ;; ] ... esac #!/bin/sh case $1 in all) telnet ara; telnet ska; telnet noah;; a) telnet aka;; s) telnet ska;; n) telnet noah;; esac

case word in [ [(] pattern [ | pattern ] ... ) list ;; ] ... esac

Shell script syntax(5) – Etc. while list; do list; done until list; do list; done [ function ] name () { list; }

while list; do list; done

until list; do list; done

[ function ] name () { list; }

Special Parameters 0 : Name of the shell or shell script $ : Process ID of the this shell ! : Process ID of last background command # : Number of arguments @ : Positional parameter 1, 2, 3, .. 9 : n-th argument

0 : Name of the shell or shell script

$ : Process ID of the this shell

! : Process ID of last background command

# : Number of arguments

@ : Positional parameter

1, 2, 3, .. 9 : n-th argument

Making Shell 2003 SP Seminar on summer vacation For studying system programming. For being a SPARCS man. A flower of circle activation. SP + ARCS = SP ARCS

2003 SP Seminar on summer vacation

For studying system programming.

For being a SPARCS man.

A flower of circle activation.

SP + ARCS = SP ARCS

Homework airlover 라는 폴더를 만든다 . 위에서 만든 폴더에 이름이 SPARCS 03 학번 회원들의 아이디인 파일을 만들고 그 회원이 마지막으로 접속한 시각을 기록한다 . 하나의 파일로 묶은 후 압축해서 airlover.tar.bz2 라는 파일로 만든다 . airlover 폴더를 지운다 . 실행하면 자동으로 압축이 풀리게 만든다 . c.f) /SPARCS/mail/aliases.d/sparcs2003

airlover 라는 폴더를 만든다 .

위에서 만든 폴더에 이름이 SPARCS 03 학번 회원들의 아이디인 파일을 만들고 그 회원이 마지막으로 접속한 시각을 기록한다 .

하나의 파일로 묶은 후 압축해서 airlover.tar.bz2 라는 파일로 만든다 .

airlover 폴더를 지운다 .

실행하면 자동으로 압축이 풀리게 만든다 .

c.f) /SPARCS/mail/aliases.d/sparcs2003

Reference http://kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/index.html Sh/Bash/Csh/Tcsh man pages

http://kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/index.html

Sh/Bash/Csh/Tcsh man pages

Add a comment

Related pages

Shell 다스리기 - sparcs.org

Unix Shell Script 2003/03/24 For SPARCS ’03 김군훈
Read more

Unix Shell Script 2003/03/24 For SPARCS ’03 김군훈. Index ...

Slide 1 Unix Shell Script 2003/03/24 For SPARCS ’03 김군훈 Slide 2 Index What is shell? Shell configuration & Environment variable. Standard input ...
Read more

SPARCS - Seminars

Design Seminar 1 : Usability Principles for Better UX ^ 누가 : ... airlover; 2003-03-24; airlover-20030324-1.ppt; Unix 기본 명령어 ^ 누가 : monkey;
Read more