셸 은 사 칙 연산 간단 한 방법 을 실현 한다.

2526 단어
1. 간단 한 방법
 
  
$ b=$((5*5+5-3/2))
$ echo $b
29

Liux 셸 에서 우 리 는 $() 를 사용 하여 표현 식 을 괄호 에 넣 으 면 연산 기능 을 달성 할 수 있 습 니 다.
2. 다른 방법:
사용: expr 연산 실현
 
  
$ expr 5 - 4
1

메모: 연산 이 필요 한 표현 식 을 expr 뒤에 쓰 면 됩 니 다. 매개 변수 와 연산 기호 사이 에 빈 칸 이 있 도록 합 니 다.
유별
문법
설명 하 다.
조건 부 판단
expr1\| expr2
expr 1 이 0 이나 null 이 아니라면 expr 1 로 전송 합 니 다. 그렇지 않 으 면 expr 2 로 전송 합 니 다.
expr1\& expr2
expr 1 및 expr 2 가 0 또는 null 이 아니라면 expr 1 로 전송 합 니 다. 그렇지 않 으 면 0 으로 전송 합 니 다.
사 칙 연산
expr1 + expr2
expr 1 에 expr 2 를 추가 한 값 을 되 돌려 줍 니 다.
expr1 - expr2
expr 1 에서 expr 2 를 뺀 값 을 되 돌려 줍 니 다.
expr1\* expr2
expr 1 곱 하기 expr 2 후의 값 을 되 돌려 줍 니 다.
expr1/expr2
expr 1 에서 expr 2 를 제외 한 값 을 되 돌려 줍 니 다.
expr1 % expr2
expr 1 에서 expr 2 를 제외 한 나머지 를 되 돌려 줍 니 다.
대소 판단
expr1\> expr2
expr 1 이 expr 2 보다 크 면 1 로 전 송 됩 니 다. 그렇지 않 으 면 0 으로 전 송 됩 니 다.expr 1 과 expr 2 가 모두 숫자 라면 숫자 크기 로 판단 하고 그렇지 않 으 면 문자 로 판단 합 니 다.아래 는 모두 같다.
expr1\< expr2
expr 1 이 expr 2 보다 작 으 면 1 로 전 송 됩 니 다. 그렇지 않 으 면 0 으로 전 송 됩 니 다.
expr1 = expr2
expr 1 이 expr 2 와 같 으 면 1 로 전 송 됩 니 다. 그렇지 않 으 면 0 으로 전 송 됩 니 다.
expr1 != expr2
expr 1 이 expr 2 와 같 지 않 으 면 1 로 전 송 됩 니 다. 그렇지 않 으 면 0 으로 전 송 됩 니 다.
expr1\>= expr2
expr 1 이 expr 2 보다 크 거나 같 으 면 1 로 전 송 됩 니 다. 그렇지 않 으 면 0 으로 전 송 됩 니 다.
expr1\<= expr2
expr 1 이 expr 2 보다 작 거나 같 으 면 1 로 전 송 됩 니 다. 그렇지 않 으 면 0 으로 전 송 됩 니 다.
문자 처리
expr1 : expr2
regular expression 이라는 고정 문자열 을 비교 합 니 다.다음 문 자 를 사용 하여 보조 할 수 있 습 니 다:. 문자 와 일치 합 니 다. $문자열 의 끝 을 찾 습 니 다.[list] list 에 맞 는 문자열 을 찾 습 니 다. *0 개 이상 * 이전 글 자 를 찾 습 니 다.\(\) 괄호 안에 일치 하 는 문자열 을 되 돌려 줍 니 다.
3. 부동 소수점 연산
 
  
$ expr 5.0 - 4
expr: non-integer argument
$ echo $((5.0-4))
-bash: 5.0-4: syntax error in expression (error token is ".0-4")

위의 연산 결 과 를 보면 위의 표현 식 은 부동 소수점 연산 을 지원 하기에 부족 하 다.자 료 를 찾 아 보 니 bash 는 부동 소수점 연산 을 지원 하지 않 습 니 다. 부동 소수점 연산 이 필요 하 다 면 bc, awk 를 통 해 처리 해 야 합 니 다.
방법 1:
 
  
[chengmo@centos5 ~]$ c=$(echo "5.01-4*2.0"|bc)
[chengmo@centos5 ~]$ echo $c
-2.99

방법 2:
 
  
[chengmo@centos5 ~]$ c=$(awk 'BEGIN{print 7.01*5-4.01 }')
[chengmo@centos5 ~]$ echo $c
31.04

주: 셸 에서 $() 와 '등 효.중간 에 명령 어 를 포함 하여 실행 결 과 를 되 돌려 줍 니 다.

좋은 웹페이지 즐겨찾기