반응형

0. Shell 스크립트 정의

#!/bin/bash


1. 변수 사용법

변수명 = 값

  • 숫자형 변수와 문자형 변수 구별 없음  ex) a =10, a = "안녕"
  • 변수의 내용을 사용할 때는 변수명 앞에 $를 붙임 ex) $변수명 = 값
  • 변수 지정시 = 앞뒤로 공백이 들어가선 안됨
  • export 변수명 = 값을 통해서 글로벌 변수로 사용 가능

2. 연산자

사칙연산 동일하게 사용가능


3. 관계 연산자

-a : and

-o : or


if [ (조건식) -o (조건식)]

then ...


4. 조건문 (if, case)

if [조건문]

then


elif [ 조건문 ]

then


else


fi 


case 단어 in

패턴1) 

내용

끝문장;;

패턴2) 

내용

끝문장;;

.................

esac


5. 반복문 (for, while, until)

for 변수 in 변수값1 변수값2 변수값3...

do

내용

done


while [조건문]

do

내용

done


until [조건문]

do

내용

done


6. 파라미터

echo "\S0"


7. 사용자값 입력 받기

read -p "값을 입력하세요" val

  • read의 옵션
    -p : 안내문
        ex) read -p "질문 내용"
    -t : 시간초
        ex) read -t 시간초
    -n : 입력수 제한
        ex) read -n 숫자
    -s : 입력값을 화면에 표시하지 않음 
        ex) read -s

8. EOF (http://originalchoi.tistory.com/7)

<< EOF

......

EOF

  • EOF가 나올 때 까지의 명령어를 실행중인 프로그램에 입력해 줄 수 있음
  • 입력의 끝을 나타내는 EOF는 반드시 앞에 공백이나 tab이 없어야 함

9. PATH 환경설정
http://openwiki.kr/tech/%EB%A6%AC%EB%88%85%EC%8A%A4_%EC%89%98_%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8

Shell 에서 ls 라는 명령어를 사용할 때, 어떻게 Shell이 ls 실행 파일 자체를 찾을 수 있을까?

(ls는 대부분의 시스템에서 /bin 디렉토리 밑에 존재하고 있다.)

Shell은 환경변수 PATH를 사용하여 사용자가 입력하는 명령어들의 실행 파일 위치를 찾는다.


예를 들면 당신의 PATH는 /bin:/usr/bin:/usr/local/bin:. 이렇게 설정되어 있을 것이다. 

각 디렉토리는 : 로 구별된다.

사용자가 ls 명령어를 입력할 때, Shell은 먼저 /bin/ls를 찾고, 그리고 /usr/bin/ls 를 찾아가며 마지막으로 현재 디렉토리를 찾는다.


PATH=/sbin:/usr/sbin:$PATH:새로 추가 할 PATH

export PATH


10. Shell의 변수들

 변수명

내용 

비고 

 $0

script를 실행시킬 때 프로그램의 이름이 포함된 첫 번째 문자열 저장 

 

 $1,…,$N

매개변수=파라미터

 

 $*

 스크립트에 전달된 인자들을 모아놓은 문자열로 하나의 변수에 저장됨

 

 $@

 자체로는 $*와 비슷하나, $@은 $1,…,$N와 같다.

 

 $#

위치 매개변수의 갯수가 저장 

 


+ Recent posts