Linux 셸 에서 연산 자"="과"-eq"를 비교 합 니 다.

Linux 셸 프로 그래 밍 에 서 는 문자열 이 같은 지 판단 하 는 데 자주 사 용 됩 니 다.문자열 이 같은 지 판단 하 는 연산 자 는'-eq'(같 음),'-ne'(같 지 않 음),'-lt'(작 음),'-le'(작 거나 같 음),'-lt'(크 거나 같 음)또는'-ge'(크 거나 같 음),그리고==,!=,<,>가 있 습 니 다.
bash 매 뉴 얼 에서 알파벳 연산 자 와 기호 연산 자의 양 끝 에 있 는 매개 변 수 는 영어 표현 식 이 다 르 고 기호 연산 자 는 string 을 사용 하 며 알파벳 연산 자 는 arg 를 사용 합 니 다.
# http://www.gnu.org/software/bash/manual/bashref.html
  • string1==string2
  • string1=string2
  • True if the strings are equal. ‘=’ should be used with the test command for POSIX conformance.
  • string1!=string2
  • True if the strings are not equal.
  • string1<string2
  • True ifstring1sorts beforestring2lexicographically.
  • string1>string2
  • True ifstring1sorts afterstring2lexicographically.
  • arg1OParg2
  • OP is one of ‘-eq’, ‘-ne’, ‘-lt’, ‘-le’, ‘-gt’, or ‘-ge’. These arithmetic binary operators return true ifarg1is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal toarg2, respectively.Arg1andarg2may be positive or negative integers.

  • 실제 프로 그래 밍 에서 알파벳 연산 자 를 사용 하면 기호 연산 자 와 효과 가 같 지만 오류 알림 이 발생 합 니 다."[arg 2:syntax error:operand expected(error token is"arg 2")"
    원문 대로
    [[ "$1" -eq "" ]] && echo "delete all spaces and comments of specialized file, using with $@ filename" && exit 1

    으로 변경
    [[ "$1" == "" ]] && echo "delete all spaces and comments of specialized file, using with $@ filename" && exit 1

    더 이상 힌트 안 드릴 게 요.
    실 용적 인 스 크 립 트 를 추가 합 니 다.용도:grep 에서 빈 칸 과 주석 자(\#)를 제거 하고 간단 하고 실 용적 입 니 다.
    #!/bin/bash   
    # delete all spaces and comments of specialized file, using with $@ filename    
    [[ "$1" == "" ] && echo "delete all spaces and comments of specialized file, using with $@ filename" && exit 1    
    grep -v \# $1 | grep -v ^$

    운영 체제 에 추가:
    cat > delsc.sh << eof   
    #!/bin/bash    
    # delete all spaces and comments of specialized file, using with $@ filename    
    [[ "\$1" -== "" ]] && echo "delete all spaces and comments of specialized file, using with \$@ filename" && exit 1    
    grep -v \# \$1 | grep -v ^$    
    eof    
    chmod +x ./delsc.sh    
    \mv delsc.sh /usr/local/bin/delsc    
    which delsc    
    cat /usr/local/bin/delsc

    사용법:
    delsc filename

    좋은 웹페이지 즐겨찾기