- 시작하기
sh 파일명
퍼미션으로 실행 권한을 주는 것
- 기본출력
echo " 문자열 "
-n 옵션을 사용하면 자동으로 줄 바꿈을 하지 않음
`(역따옴표)로 명령어 의 실행 결과를 출력 할 수 도 있다.
echo 'ifconfig | grep inet | grep -v 127.0.0.1`
- 변수를 만들고 사용하기
형식 : 변수명 = 변수값
사용예 : korea="Beautiful Land"
적용예 : echo $korea
주의점 : 변수명 다음에 오는 '='의 좌우로 공백이 있으면 안된다.
변수안에 또 다른 변수를 넣을 수도 있다.
ex)
color=red
say="This rose is $color"
echo $say
ex) 사용자가 로그인을 할 때 읽어들이는 파일 중에 /etc/profile 파일이 있다. 이 곳을 보면 다음과 같이 export로 환경변수를 만드는 것을 찾을 수 있다.
USER="`id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
HOSTNAME=`bin/hostname`
HISTSIZE=1000
export USER LOGNAME MAIL HOSTNAME HISTSIZE
콘솔 창에서 현재 있는 위치에 상관없이 echo 명령으로 변수 값을 확인할 수 있다.
[root@embedded]# echo $HISTSIZE
- read의 사용
표준입력을 받아들여 변수로 저장하는 역할을 한다.
[root@embedded]# cat -n readsh
#!/bin/bash
echo -n "age : "
read x
echo "You are $x years old"
[root@embedded]# sh readsh
age : 25
You are 25 years old
- argument
스크립트 파일을 실행 할 때 argument를 붙여서 실행하는 경우가 있다.
ex)
[root@embedded]# /etc/rc.d/init.d/network restart
ex)
[root@embedded]# cat -n argumentsh
#!/bin/bash
echo "argument1 : $1"
echo "argument2 : $2"
echo "argument3 : $3"
[root@embedded]# sh argumentsh red blue yellow
argument1 : red
argument2 : blue
argument3 : yellow
값이 대입대지 않은 경우 오류가 아니라 값이 대입되지 않음. 즉 공백으로 나온다.
ex) cat -n argumentsh
#!/bin/bash
echo "argument1 : $1"
echo "argument2 : $2"
echo "argument3 : $3"
echo "Total argument number : $#" #argument의 갯수를 의미
echo "This File Name " $0" #스크립트 파일의 이름을 의미
[root@embedded]# sh argumentsh CPU RAM HDD
argument1 : CPU
argument2 : RAM
argument3 : HDD
Total argument number : 3
This File Name : argumentsh
'Language > SHELL' 카테고리의 다른 글
[Bash] ANSI Escape Code를 사용한 색 넣기 (0) | 2012.07.12 |
---|---|
[Bash] 숫자계산, 인용부호 (0) | 2012.07.12 |
[Bash] grep, sort 사용벙 (0) | 2012.07.12 |
[Bash] head ,taile , cut , paste, diff 사용법 (0) | 2012.07.12 |
[Bash] awk 사용 방법 (0) | 2012.07.12 |