http://dbastory.tistory.com/entry/bash-shell-%EB%AA%85%EB%A0%B9%EC%96%B4%ED%8E%8C


1. 스크립트 시작하기

vim등 텍스트 편집기 오픈

>

#!/bin/bash    #스크립트 번역에 bash 프로그래밍 언어를 사용하라는 뜻. 번역에 사용할 프로그램의 위치를 표시

echo "Hello World"

>

$chmod +x ./script_above.sh

$./script_above

Hello World


2. 변수

2-1. assignment : var=value    #공백 없이!

2-2. retrieve value : $var

*quotation mark안에서 사용가능    ex) echo "I have $var" --> I have value


3. if 문

#기본 syntax

if test -option file

then

#do something

elif test -option file

#do something

else

#do something

fi


#이렇게 쓸 수도 있다.

if [ -option file ]; then    #test 대신 공백+대괄호


*test -option들 (file에 대해)

-d: 파일이 디렉토리인지

-e: 파일이 존재하는지

-f: 파일이 정규 파일인지??

-g: 파일이 SGID 퍼미션을 가졌는지??

-r: 파일이 읽기 가능인지

-s: 파일이 빈 파일이 아닌지

-w: 파일이 쓰기 가능인지

-x: 파일이 실행 가능인지

-le: 


4. while문

#기본 syntax

while true; do

#do something

done


#true보다 :를 사용하는 것이 훨씬 빠르다.

while :; do

#do something

done


#조건문

while [ "$x" -le 10 ]; do    #x의 값이 10보다 작으면

#do something

done


*test -option들 (숫자비교)

x -eq y: x==y

x -ne y: x!=y

x -gt y: x>y

x -le y: x<y

*test -option들 (문자열비교)

x = y : x==y

x != y : x!=y

-n x : x!=null

-z x : x==null


5. argument passing

FILE1=$1

args=( "$@" )

for file in "$@"; do some_job; done

for (( i=0; i < $# ; i++)){

s=${args[$i]}

echo $s

}



[출처] http://coffeenix.net/doc/shell/introbashscript.htm

+ Recent posts