shellscript #6 문자열 비교 > 프로그래밍

본문 바로가기
사이트 내 전체검색

프로그래밍

shellscript shellscript #6 문자열 비교

페이지 정보

작성자 불꽃싸대기 댓글 0건 조회 2,886회 작성일 16-10-23 22:55

본문

expr은 숫자를 + (더하기), - (빼기), *(곱하기), / (나누기를 한후의 몫의 값), % (나누기를 한후의 나머지 값) 연산자를 이용하여 계산할때 사용합니다.

root@allnix.net ~] # vi exprc

#!/bin/bash [Enter]
a = `expr \( 5 \* 8 \) / 4 + 10`
echo $a
root@allnix.net ~] #

위 예제는 (5 * 8) / 4 + 10을 연산하여 값을 a라는 변수에 넣어서 출력하는 스크립트 입니다.
그런데 "(" 앞에 \(역슬래시)가 들어가 있고 *앞에도 \(역슬래시)가 들어가 있습니다.
(앞에 \는 문자형태로 (를 받으라는 것이고, *는 쉘에서 *는 모든것을 뜻하는 특수 문자이기 때문에 \를 넣어서 구분해주는 것입니다.
이번에는 문자열을 해보겠습니다.
문자열은 숫자의 비교보다는 단순합니다.
문자는 같은지와 다른지를 비교하고 문자열의 길이 정도를 비교합니다.

["text1" = "text2"] 두 문자열이 같은 경우
["text1" != "text2"] 두 문자열이 다른 경우
[-z "text"] 문자열의 길이가 0인 경우
[-n "text"] 문자열의 길이가 0이 아닌 경우

위 표에서는 " "안에 문장을 넣었지만 앞에 문서에서 있듯이 " "는 하나로 묶어줄때 사용합니다.
공백이 포함된 문자를 하나로 묶어서 비교할때 " "를 사용하시면 됩니다.

root@allnix.net ~] # vi textc

#!/bin/bash [Enter]
a = hi
b = hello
if [ $a = $b ]
then
echo "="
else
echo "!="
fi

root@allnix.net ~] #


앞에서 숫자 비교했든 예제와 비슷하게 만들어 보았습니다.
a라는 변수에 hi라는 문장을 넣고, b라는 변수에 hello라는 문장을 넣었습니다.
공백이 없는 단어이므로 " "는 생략 하였습니다.
같을경우 =가 출력되고, 틀릴경우 != 가 출력됩니다.
  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.

  • 게시물이 없습니다.

회원로그인

접속자집계

오늘
81
어제
99
최대
260
전체
48,645

그누보드5
Copyright © ssadaegi.com. All rights reserved.