셸 스크립트 프로그래밍
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)