#!/bin/sh
################# substring #################
STR="abcdefg"
# 3 ~ 4th char
substr=`echo $STR | cut -c3-4`
# expr substr string position length
substr=`expr substr $STR 3 2`
# bash ${string:position:length}
substr=${STR:2:2}
결과 : cd
########################################
참조 : http://blog.daum.net/_blog/BlogTypeView.do?blogid=02Ql9&articleno=171
################# if 조건문 #################
if 조건문에서 사용되는 연산자들에는 다음과 같은 것들이 있다.
- 문자열체크
[ stringName ] - 문자열이 널(NULL)인지 체크, Null이 아니면 참
[ -n stringName ] - 문자열의 사이즈가 0 이상인지 체크, 0 이상이면 참
[ -z stringName ] - 문자열의 사이즈가 0 인지 체크, 0이면 참
[ stringNameA = stringNameB ] - A문자열과 B문자열이 같은지 체크, 같으면 참
[ stringNameA != stringNameB ] - A문자열과 B문자열이 다른지 체크, 다르면 참
- 숫자 대소 관계 체크
[ intA -ge 100 ] - 숫자 A가 100보다 크거나 같은지 체크, 100 이상이면 참
[ intA -gt 100 ] - 숫자 A가 100보다 큰지 체크, 100이 넘으면 참
[ intA -le 100 ] - 숫자 A가 100보다 작거나 같은지 체크, 100 이하이면 참
[ intA -lt 100 ] - 숫자 A가 100보자 작은지 체크, 100 미만이면 참
- 파일 체크
[ -r filename ] - 해당 파일이 읽기 가능한지 체크
[ -w filename ] - 해당 파일이 쓰기 가능한지 체크
[ -x filename ] - 해당 파일이 실행 가능한지 체크
[ -s filename ] - 해당 파일의 사이즈가 제로 이상인지 체크
[ -d filename ] - 해당 파일이 디렉토리 파일인지 체크
[ -f filename ] - 해당 파일이 보통 파일인지 체크
[ -h filename ] - 해당 파일이 링크 파일인지 체크
- 조건문의 결합
[ 조건문A -a 조건문B ] - 조건문 A와 B가 모두 참인지 체크, -a는 AND
[ 조건문A -o 조건문B ] - 조건문 A와 B중 참이 하나라도 있는지 체크, -o는 OR
########################################
참조 : http://www.tutorialspoint.com/unix/unix-shell-functions.htm
################# 함수 호출 #################
#!/bin/sh
# Calling one function from another
number_one () {
echo "This is the first function speaking..."
number_two
}
number_two () {
echo "This is now the second function speaking..."
}
# Calling function one.
number_one
# Define your function here
Hello () {
echo "Hello World $1 $2"
return 10
}
# Invoke your function
Hello Zara Ali
# Capture value returnd by last command
ret=$?
echo "Return value is $ret"
# 스크립트 실행.
$ test.sh
This is the first function speaking...
This is now the second function speaking...
Hello World Zara Ali
Return value is 10
########################################