쉘 스크립트

  • 변수를 할당하는 방법
value=100             # 값을 할당
files=`ls`            # 명령어의 결과를 할당
  • 변수를 사용하는 방법
echo $value
echo ${files}         # $files가 에러가 뜨면 중괄호로 감싸주자
[ -n "$files" ]       # 조건식 안에서는 큰다옴표로 $까지 감싸주자
  • 파일을 체크하는 방법
[ -e <filename> ] : <filename>이 존재하면 true
[ -f <filename> ] : <filename>이 dir이거나 dev가 아니라면 true
                    script는 if [ -f <script> ]; then . <script> fi 처럼 사용하는 듯
[ -r <filename> ] : <filename>을 현재 사용자가 읽을 수 있으면 true
                    cat 하기 전에 검사하는 용도로 사용 가능
[ -w <filename> ] : <filename>을 현재 사용자가 쓸 수 있으면 true
[ -x <filename> ] : <filename>을 현재 사용자가 실행시킬 수 있으면 true
                    리눅스 binary의 존재 여부 체크하는 데에 사용 가능
  • 정수를 비교하는 방법
[ "$a" -<op> "$b" ]  : op에는 eq, ne, gt, ge, lt, le 등이 있다
(( "$a" <op> "$b" )) : op에는 ==, <, <=, >, >= 등이 있다
  • 문자열을 체크하는 방법
[ -n "$var" ] : var이 not null이면 true
[ -z "$var" ] : var이 null이면 true
echo "$var" | grep <substr> > /dev/null : var 안에 <substr>이 있으면 true
[ "$var" -eq *<substr>* ] : 상동
  • 복합 비교
[ cond1 -a cond2 ] : [[ cond1 && cond2 ]] 와 동일
[ cond1 -o cond2 ] : [[ cond1 || cond2 ]] 와 동일


+ Recent posts