Linux Shell 스 크 립 트 시리즈 튜 토리 얼(5):수학 연산

어떤 프로 그래 밍 언어 에서 도 산술 연산 은 필수 적 이 며 셸 도 예외 가 아니다.
하나 let,(),[]를 사용 하여 산술 연산 을 진행 하 다.
일반 변수 할당 방법 으로 수 치 를 정의 할 수 있 습 니 다.이것 은 문자열 로 저 장 됩 니 다.우 리 는 let,(),[]등 조작 부 호 를 사용 하여 이 변 수 를 산술 연산 할 수 있다.예 를 들 면:

#!/bin/bash
no1=4                        # no1
no2=5                        # no2
let result=no1+no2          
echo $result                 # 9
let no1++                    # let no1=no1+1
echo $no1                    # 5
let no2--                    # let no2=no2-1
echo $no2                    # 4
let no1+=5                   # let no1=no1+5
echo $no1                    # 10
let no1-=5                   # let no1=no1-5
echo $no1                    # 5

no1=4                        # no1
no2=5                        # no2
result=$[ no1 + no2 ]
echo $result                 # 9
result=$[ $no1 + 5 ]         #ubuntu ,no1 not found
echo $result                 # 9
result=$(( no1 + 50 ))       # $ ,
echo $result                 # 54

3.expr 를 사용 하여 산술 연산 을 한다.

expr , 。 :
#!/bin/bash
result=`expr 3 + 4`     # , tab
echo $result            # 7     
result=`expr 3+4`       #3 +
echo $result            # 3+4                         
주의:1.5.1 과 1.5.2 의 방법 은 모두 정수 만 계산 할 수 있 고 부동 소수점 계산 을 할 수 없습니다.
3.bc 를 사용 하여 산술 연산 을 한다.
bc 는 수학 연산 에 사용 되 는 고급 도구 입 니 다.이 정밀 계산 기 는 대량의 옵션 을 포함 하고 있 습 니 다.매개 변 수 는 보통 실행 할 구체 적 인 작업 전에 분 호 를 경계 문자 로 하여 sdtin 을 통 해 bc 를 전달 합 니 다.예 를 들 면:
echo "4 * 0.56" | bc       #출력 결 과 는 2.24 입 니 다.

no=54
result=`echo "$no * 1.5 " | bc`
echo $result                # 81.0

echo "scale=2;3/8"          # scale , 0.37

no=100
echo "obase=2;$no" | bc  # , , 10
no=1100100
echo "obase=10;ibase=2;$no" | bc #obase=10,ibase=2
echo "sqrt(100)" | bc     #
echo "10^10" | bc         #

-메모:obase 는 대상 진법,ibase 는 원 진법,기본 값 은 원 진법 10.

좋은 웹페이지 즐겨찾기