Uncategorized

쉘스크립트 정리

프로그램의 인수는 $에 들어있다.
testApp -a -b인 경우에 $0은 testApp, $1는 -a, $2는 -b가 들어있다.
이 때, shift를 사용하면, $0은 -a, $1는 -b가 된다.

@set -e의 역할
script 실행 도중 에러 발생시 script를 멈추게 한다.

@set -x의 역할
script 실행 도중 에러 발생시 표준 에러를 출력한다. 

@if와 함께 -z 및 -n 옵션
if [-z “$a”] a의 값이 없으면, 참
if [-n “$a”] a의 값이 있으면, 참
[ -z ] : 문자열의 길이가 0이면 참
[ -n ] : 문자열의 길이가 0이 아니면 참
[ -eq ] : 값이 같으면 참
[ -ne ] : 값이 다르면 참
[ -gt ] : 값1 > 값2
[ -ge ] : 값1 >= 값2
[ -lt ] : 값1 < 값2
[ -le ] : 값1 <= 값2
[ -a ] : &&연산과 동일 and 연산
[ -o ] : ||연산과 동일 xor 연산
[ -d ] : 파일이 디렉토리면 참
[ -e ] : 파일이 있으면 참
[ -L ] : 파일이 심볼릭 링크면 참
[ -r ] : 파일이 읽기 가능하면 참
[ -s ] : 파일의 크기가 0 보다 크면 참
[ -w ] : 파일이 쓰기 가능하면 참
[ -x ] : 파일이 실행 가능하면 참
[ 파일1 -nt 파일2 ] : 파일1이 파일2보다 최신파일이면 참
[ 파일1 -ot 파일2 ] : 파일1이 파일2보다 이전파일이면 참
[ 파일1 -ef 파일2 ] : 파일1이 파일2랑 같은 파일이면 참

@source와 .은 같은 명령어
셸 스크립트 파일을 실행하는 데 사용