728x90
반응형
* 쉘 스크립트란 ?
셸 스크립트(shell script)는 셸이나 명령 줄 인터프리터에서 돌아가도록 작성되었거나 한 운영 체제를 위해 쓰인 스크립트이다.
단순한 도메인 고유 언어로 여기기도 한다. 셸 스크립트가 수행하는 일반 기능으로는 파일 이용, 프로그램 실행, 문자열 출력 등이 있다.
셸 스크립트라는 말은 유닉스 셸을 위해 쓰인 스크립트를 말하는 반면, COMMAND.COM(도스)과 cmd.exe (윈도) 명령 줄 스크립트는
보통 배치 파일이라고 불리지만 이 글에는 두 개의 속성 모두를 논한다.
* 쉘 스크립트 시작하기
1. vi 에디터로 쉘 스크립트 파일을 생성한다. (vi 명령어를 미리 숙지를 해야한다.)
vi test.sh
- 파일을 만들기전에 해당 디렉토리로 먼저 이동.
- .sh 란 확장자가 쉘 스크립트라는 것임.
2. vi 에디터가 실행이 되면 명령어를 작성
#!/bin/bash -> #! 은 쉘에게 이 프로그램을 실행하기 위해서 #! 다음에 오는 아규먼트를 실행프로그램으로 사용한다는 것을 알려주기 위해서 사용된다.
지금은 /bin/bash 를 사용하라고 되어있다.
echo "test" # test 라는문자열을 출력한다. -> # 는 주석 처리로 사용
~
~
:wq -> 저장 후 종료
ll 명령어로 파일이 생성되었는지 확인.
3. 쉘 스크립트를 실행하기전에 실행 권한을 줘야한다.
파일의 읽기/쓰기 권한은 있지만 실행 권한은 없다.
chmod +x test.sh 명령어로 권한 부여
4. 쉘 스크리트를 실행
./test.sh
* 변수
- 데이터 타입이 없다.
- 대소문자를 구분한다.
- 값을 대입시에는 변수명=값
- 변수를 사용할 때는 $변수명 or ${변수명}
#!/bin/bah
i=10; # 변수에 값을 할당한다.
z="test";
echo $i; # i라는 변수를 화면에 출력한다.
echo $z;
저장 후 실행
10
test
* if 문
반드시 띄어쓰기 주의
if [ $i -eq $z ]; then
echo "ok";
else
echo "no";
fi
echo "yes or no"
read answer
if [ "$answer" = "yes" ]; then
echo "success";
elif [ "$answer" = "no" ]; then
echo "fail";
else
echo "sorry";
fi
* for 문
for 문은 2가지 방법이 있다.
1. arg 변수에 1,2,3 데이터를 넣고 이 갯수만큼 돈다.
for arg in 1 2 3
do
echo $arg
done
2. 기존 다른 언어 방식과 유사하다.
for ((i=0;i<10;i++)); do
echo $i
done
* while 문
kk=1;
while [ $kk -lt 5 ]
do
echo $kk;
let kk+=1; -> let는 산술연산 처리 명령어
done
* case 문
echo "Plz Enter Color"
read color;
case $color in
green)
echo "gr";
;;
blue)
echo "bl";
;;
red)
echo "re";
;;
*)
echo "sorry";
;;
esac
* 함수
testFunction(){
echo "funcion start"
echo "directory `pwd`" -> pwd는 현재 디렉토리 나타내는 명령어이다. 키보드 Esc 키 밑에있는 ` 를 사용한다.
}
testFunction;
728x90
반응형
'UNIX&LINUX > 쉘스크립트' 카테고리의 다른 글
expect를 이용한 자동화(2) - scp (0) | 2014.07.17 |
---|---|
expect를 이용한 자동화(1) - ssh (0) | 2014.07.17 |
쉘스크립트 컬러 넣는 법 (0) | 2014.07.14 |
grep 제외문자열 -v -Ev (0) | 2014.07.14 |
쉘스크립트 기본 if문 (0) | 2014.07.14 |
쉘스크립트 기본 for문 (0) | 2014.07.14 |
쉘스크립트 기본 case문 select문 (0) | 2014.07.14 |
쉘스크립트 기본 while문 until문 (0) | 2014.07.14 |