글
쉘프로그래밍
쉘 프로그래밍이란 ???
- 프롬프트에서 내리는 일련의 명령 수행 과정을 순차적으로 실행되도록 하는 프로그램을 구현하는 프로그래밍
쉘의 첫 줄
- 쉘 프로그래밍은 #!/bin/sh 로 시작된다.
- 이부분은 어떤 쉘을 이용하여 실행시킬 것인지 정해준다.
- #!/bin/sh는 /bin/sh에서 실행된다는 절대 경로를 나타낸다.
- 둘째 줄 부터 실행 스크립트 부분이다.
변수
- 변수는 미리 선언하지 않는다.
- [변수명=값] 형식으로 사용하고 공백이 들어가면 안된다.
- 공백을 사용하려면 ""를 사용해야 한다.
ex)test="Hello world"
- 변수의 값을 출력하려면 echo를 사용한다.
ex)echo $test ($는 test가 변수임을 알려주는 역할을 한다.)
- 변수의 값에 숫자가 들어가도 string으로 인식한다.
- 환경변수도 일반변수와 같은 형식으로 사용된다.
- 환경변수
$HOME : 현 사용자의 홈 디렉토리
$PATH : 디렉토리 목록, :으로 구분
$PS1 : $인 명령 프롬프트
$PS2 : 추가적 입력을 요구할 때 사용되는 2차 프롬프트 (>)
$IFS : 입력 필드 구분자, 쉘이 입력을 받아들일 때 단어를 구분하는데 사용되는 문자의 목록(빈칸, 탭, 새줄)
$0 : 쉘 스크립트 이름
$# : 전달된 파라미터 수
$? : 가장 최근에 실행된 프로세스 상태값(리턴값)
연산자
- 연산자와 피연산자 사이는 공백이 들어가야 한다.
- 정수 연산자
-eq(==), -ne(!=), -gt(>), -ge(>=), -lt(<), -le(<=)
- 문자열 연산자
==, !=, <, >, -z(NULL), -n(nc null)
-논리 연산자
-a(and), -o(or), !(not)
- '||' 연산자는 앞의 명령어가 실패 했을 때 뒤에 위치한 프로그램이 실행되도록 한다.
- '&&' 연산자는 앞의 명령어가 성공했을 때 뒤에 위치한 프로그램이 실행되도록 한다.
조건문
- if문(if then fi)
if [조건1]
then
조건1에 해당할 때 실행할 내용
elif [조건2]
조건2에 해당할 때 실행할 내용
else
조건1, 조건2에 해당하지 않을 때 실행할 내용
fi
- case문(case in *) esac)
case $변수명 in
값1)
값1에 해당할 때 실행할 내용
;;
값2)
값2에 해당할 때 실행할 내용
;;
*)
값1, 값2에 해당하지 않을 때 실행할 내용
esac
반복문
- while문
while [조건]
do
실행할 내용
done
- for문(in 뒤에 나열된 값들이 하나씩 할당 되면서 실행할 내용을 반복한다.)
for 변수명 in 값1, 값2.......
do
실행할 내용
done
- until문(조건식이 참이되면 루프를 멈춘다.)
until [조건 식]
do
실행할 내용
done
함수
- 함수의 형식
함수명()
{
함수 내용
}
- 함수의 사용의 일반적인 C프로그래밍과 비슷하다.
'개발&교육 > Unix & Linux' 카테고리의 다른 글
리눅스 날짜 및 시간 변경, HP_UX 날짜 및 시간 변경 (0) | 2013.01.02 |
---|---|
리눅스&유닉스 : 프로그램을 데몬처럼 실행 (0) | 2012.11.12 |