Skip to content

Shell Script

Yongho Choi edited this page Feb 13, 2017 · 1 revision

arguments

  • $0 : 파일명
  • $1~n : 인자(순서대로)

if문

  • -n : null이 아니면 true
  • -z : null이면 true
  • -e : 양쪽 문자열이 같으면 true

문자열 비교

  • 정수형과 문자열 간의 비교도 가능
    • if [ "0" = 0 ] 도 true
    • if [ str = "str" ] 도 true
  • 명령문의 경우 backticks(`)를 붙여서 실행 (backticks = backquote)
if [ `pwd` != "$LOG_DIR" ]

유용한 모듈

  • 유효한 인자 수 체크
if [ $# -ne 원하는_인자_갯수 ]
then
  echo "사용방법 명시"
  exit 1
fi

Tips

partial quoting("") vs full quoting('')

  • partial quoting("") : 거의 대부분의 특수 문자를 해석하지 못하도록 막아줌.
  • full quoting('') : 모든 특수 문자를 해석하지 못하도록 막아줌.
if [ `pwd` = "$PWD" ]  # 이 결과는 true

if [ `pwd` = '$PWD' ]  # 이 결과는 false

null command(:) : 아무 동작도 하지 않음. true와 동일하게 사용됨.

  • 무한 루프에 사용
while :
do
  ...
done
  • if 문에서 pass 용도로 사용
if condition
then :  # 아무것도 안하고 pass
else
  # 작업 수행
fi

명령어 그룹

  • 명령어를 소괄호안에 넣어서 사용하면 지역변수처럼 동작.
a=123
( a=321; )	      

echo "a = $a"   # a = 123

참고

Clone this wiki locally