리눅스 Centos/리눅스 기본

셸 스크립트 프로그래밍

룰루랄라 즐기자 2017. 12. 14. 22:02

CentOS의 bash 셸

기본 셸은 bash(Bourne Again SHell : '베시 셸')

bash 셸의 특징

Alias 기능(명령어 단축 기능)

History 기능(위/아래 화살표키)

연산 기능

Job control 기능

자동 이름 완성 기능(탭키)

프롬프트 제어 기능

명령 편집 기능


셸의 명령문 처리 방법

(프롬프트) 명령어 [옵션..] [인자..]

예) # rm-rf /mydir



환경 변수

"echo $환경변수이름" 으로 확인 가능

"export 환경변수=값" 으로 환경 변수의 값을 변경

주요 환경변수


예) [root@localhost ~] # echo $PATH




셸 스크립트 프로그래밍

C언어와 유사하게 프로그래밍이 가능

변수, 반복문, 제어문 등의 사용이 가능

별도로 컴파일하지 않고 텍스트 파일 형태로 바로 실행

vi나 gedit으로 작성이 가능

리눅스의 많은 부분이 셸 스크립트로 작성되어 있음




셸 스크립트 작성방법


1) vi 편집기를 이용하여 name.sh 쉘스크립트 파일 생성

[root@localhost ~] # vi name.sh (엔터를 칩니다)


2)쉘스크립트를 작성

#!/bin/sh (반드시 써준다 생각하시면 됩니다)

echo "사용자이름: " $USERNAME

echo "호스트이름: " $HOSTNAME

exit 0


3) 저장 wq: 나오기




셸 스크립트 실행방법 2가지


1. sh <스크립트 파일>로 실행

sh name.sh


2. chmod + x <스크립트 파일> 명령으로 실행 가능 속성으로 변경한 후에,

"./<스크립트파일>" 명령으로 실행

1) ls -l 명령어를 이용해서 파일의 특성을보자 보면 실행 속성이 없다.

그래서 실행 가능한 속성으로 만든다음에 실행을 해도 된다.



2) 소유주에게 실행권한을 주기 

[root@localhost ~] # chmod u+x name.sh


3) 실행하기 ./ 를 붙여야한다. 최상위 디렉토리에서 해당파일을 정확히 실행해주어야 한다.

[root@localhost ~] #  ./name.sh




변수의 기본

변수를 사용하기 이전 미리 선언하지 않으며, 변수에 처음 값이 할당되면서 자동으로 변수가 생성

모든 변수는 '문자열(String)'로 취급

변수 이름은 대소문자를 구분



1) 변수를 대입할 때 '=' 좌우에는 공백이 없어야 함


2) 1번에서 선언한 testval = hello 라는 변수로 지정한것을

echo $testval 식으로 실행하면 변수값인 hello가 출력 됨 


3) 변수를 대입할때 뛰어쓰기 yes Sir 를 넣으려면 "로 묶어주어야 한다.

testval="Yes Sir"


4) 모든 변수는 '문자열(String)'로 취급한다.

7+5 그대로 출력





변수의 입력과 출력







숫자 계산




파라미터 변수





기본 if 문






if~esle 문





조건문에 들어가는 비교 연산자




파일과 관련된 조건



case~esac문(1)





case~esac문(2)





AND, OR 관계 연산자




반복문 for문 (1)





반복문 for문 (2)



반복문 while문 (1)



반복문 while문 (2)




반복문 while문 (3)