셸 에서 어떻게 수학 연산 을 진행 합 니까?

셸 에서 수학 연산 을 할 때 특수 한 문법 이 있 는데 다른 프로 그래 밍 언어 와 다르다. 예 를 들 어 덧셈 은 하나의 덧셈 + 만 간단하게 사용 하 는 것 으로 는 부족 하 다. 다음은 두 가지 잘못된 사용 방식 이다.
오류 1 -
$ num1=3;num2=4
$ sum=num1+num2
$ echo $num1 $num2 $sum

결과: 34 num1 + num 2
우선 주의해 야 할 것 은 셸 의 변수 할당 = 양쪽 에 빈 칸 이 있어 서 는 안 된다 는 것 이다.덧셈 연산 이 잘못 되 었 습 니 다. 단지 두 개의 변수 이름 을 합 쳤 을 뿐 입 니 다. 어떤 사람 은 방문 변 수 는 $기 호 를 사용 해 야 한다 고 말 했 습 니 다. 이것 이 유용 합 니까?아래 에서 효 과 를 보 더 라 도 효과 가 없다.
오류 2 -
$ num1=3;num2=4
$ sum=$num1+$num2
$ echo $num1 $num2 $sum

결과: 3, 4, 3 + 4
덧셈 연산 은 여전히 잘못 되 었 습 니 다. 방문 변 수 는 $기 호 를 사용 해 야 하지만 덧셈 에 있어 서도 두 변수의 내용 을 조합 하 는 것 일 뿐 우리 가 원 하 는 결과 가 아 닙 니 다.이 유 는 셸 이 변수 유형 을 문자열 로 간단하게 처 리 했 기 때 문 입 니 다. 덧셈 을 사용 한 결 과 는 간단 한 문자열 조합 입 니 다. 진정한 수학 연산 을 하려 면 셸 에서 도 완성 할 수 있 지만 일정한 문법 형식 이 있 습 니 다. 다음은 덧셈 연산 을 예 로 들 어 셸 에서 수학 연산 을 할 수 있 는 다섯 가지 방법 을 소개 합 니 다.
방법 1 -
#   $((expression))
$ num1=3;num2=4
$ sum=$((num1+num2))
$ echo $num1 $num2 $sum

결과: 347
덧셈 연산 이 정확 합 니 다. 변 수 는 $를 사용 하거나 사용 하지 않 아 도 됩 니 다. 덧셈 양쪽 에 빈 칸 이 있 을 수도 있 고 빈 칸 이 없 을 수도 있 습 니 다. 왜 $기호 와 덧셈 양쪽 의 빈 칸 을 구분 해 야 합 니까? 아래 의 몇 가지 방법 중 에 이것 에 제한 이 있 기 때 문 입 니 다.
방법 2 -
#   $[expression]
$ num1=3;num2=4
$ sum=$[num1+num2]
$ echo $num1 $num2 $sum

결과: 347
덧셈 연산 이 정확 합 니 다. 변 수 는 $를 사용 하거나 사용 하지 않 아 도 됩 니 다. 덧셈 양쪽 에 빈 칸 이 있 을 수도 있 고 빈 칸 이 없 을 수도 있 습 니 다.
방법 3 -
#   expr  
$ num1=3;num2=4
$ sum=`expr $num1 + $num2`
$ echo $num1 $num2 $sum

결과: 347
덧셈 연산 이 정확 합 니 다. 변 수 는 $로 접근 해 야 합 니 다. 덧셈 양쪽 에 빈 칸 이 있어 야 합 니 다. 그렇지 않 으 면 문법 오류 가 발생 할 수 있 습 니 다. 이 방법 은 "expr" 명령 을 실행 합 니 다. 셸 에서 명령 을 실행 하면 위의 방식 을 사용 할 수도 있 고 아래 방식 을 사용 할 수도 있 습 니 다.
$ sum=$(expr $num1 + $num2)

방법 4 -
#   let   
$ num1=3;num2=4
$ let sum=num1+num2
$ echo $num1 $num2 $sum

결과: 347
덧셈 연산 이 정확 합 니 다. 변 수 는 $를 사용 하거나 사용 하지 않 아 도 됩 니 다. 그러나 덧셈 양쪽 에 빈 칸 이 있어 서 는 안 됩 니 다. 그렇지 않 으 면 문법 오류 가 발생 할 수 있 습 니 다.
방법 5 -
#   declare   
$ declare -i num1 num2 sum
$ num1=3;num2=4
$ sum=num1+num2
$ echo $num1 $num2 $sum

결과: 347
덧셈 연산 이 정확 합 니 다. 변 수 는 $를 사용 하거나 사용 하지 않 아 도 됩 니 다. 그러나 덧셈 양쪽 에 빈 칸 이 있어 서 는 안 됩 니 다. 그렇지 않 으 면 문법 오류 가 발생 할 수 있 습 니 다. declare 키 워드 는 변수의 유형 을 설명 하 는 역할 을 합 니 다. - i 는 정 수 를 표시 합 니 다.
끝...

좋은 웹페이지 즐겨찾기