Shell expr 명령으로 정수 계산 구현

expr은 evaluate expressions의 줄임말로'표현식 구값'으로 번역됩니다.셸 expr은 기능이 강하고 복잡한 명령으로 정수 계산을 실현할 수 있을 뿐만 아니라 문자열의 길이, 문자열 비교, 문자열 일치, 문자열 추출 등 몇 가지 옵션을 결합하여 처리할 수 있다.
이 절은 expr이 정수 계산 방면에서의 응용만 설명하고 문자열 처리와 관련이 없기 때문에 흥미가 있는 독자는 스스로 연구해 주십시오.
Shell expr의 정수 계산 용도는 다음과 같습니다.expr expr는 표현식의 형식에 대해 몇 가지 특별한 요구를 가지고 있습니다.
  • 표현식에 나타나는 연산자, 숫자, 변수, 소괄호의 좌우 양쪽에 최소한 공백이 있어야 한다. 그렇지 않으면 오류가 발생할 수 있다
  • 몇몇 특수 기호는 반드시 반사봉\으로 의미를 바꾸어야 한다(그 특수한 의미를 차단한다). 예를 들어 곱셈표*와 괄호(). 만약에\뜻을 바꾸지 않는다면, 셸은 그것들을 정규 표현식의 기호로 오해할 것이다
  • 변수를 사용할 때 $접두사를 추가합니다.
    [실례1] expr 정수 계산의 간단한 예:
    
    [jb51.net]$ expr 2 +3 # :  3  
    expr:  
    [jb51.net]$ expr 2 + 3 # 
    5
    [jb51.net]$ expr 4 * 5 # : 
    expr:  
    [jb51.net]$ expr 4 \* 5 #  \  
    20
    [jb51.net]$ expr ( 2 + 3 ) \* 4 # 
    bash:   `2'  
    [jb51.net]$ expr \( 2 + 3 \) \* 4 #  \  
    20
    [jb51.net]$ n=3
    [jb51.net]$ expr n + 2 #  $
    expr:  
    [jb51.net]$ expr $n + 2 #  $  
    5
    [jb51.net]$ m=7
    [jb51.net]$ expr $m \* \( $n + 5 \)
    56
    
    이상은 expr 명령을 직접 사용합니다. 계산 결과는 직접 출력됩니다. 만약 계산 결과를 변수에 값을 부여하고 싶다면, 전체 표현식을 반인용부호 ` (탭 키 위에 있음) 로 둘러싸야 합니다. 아래의 예를 보십시오.
    [실례2] expr의 계산 결과를 변수에 지정합니다.
    
    [jb51.net]$ m=5
    [jb51.net]$ n=`expr $m + 10`
    [jb51.net]$ echo $n
    15
    
    봐라, expr를 사용하여 수학 계산을 하는 것이 얼마나 번거로운 일인지, 여러 가지 세부 사항을 주의해야 하니, 나는 모두에게 그래도 마음을 아껴서 성실하고 실용적인 (),let 또는 $[]를 사용하라고 충고한다.
    Shell expr 명령의 정수 계산 실현에 관한 이 글은 여기까지 소개합니다. 더 많은 Shell expr 정수 계산 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

    좋은 웹페이지 즐겨찾기