第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在bash腳本中添加數(shù)字

如何在bash腳本中添加數(shù)字

如何在bash腳本中添加數(shù)字我有這個bash腳本,我在第16行遇到了問題。如何獲取第15行的先前結果并將其添加到第16行的變量中?#!/bin/bashnum=0metab=0for ((i=1; i<=2; i++)); do           for j in `ls output-$i-*`; do         echo "$j"         metab=$(cat $j|grep EndBuffer|awk '{sum+=$2} END { print sum/120}') (line15)         num= $num + $metab   (line16)     done     echo "$num"  done
查看完整描述

3 回答

?
天涯盡頭無女友

TA貢獻1831條經(jīng)驗 獲得超9個贊

對于整數(shù)

  • 使用算術擴展$((EXPR))

    num=$((num1 + num2))num=$(($num1 + $num2))       # also worksnum=$((num1 + 2 + 3))        # ...num=$[num1+num2]             # old, deprecated arithmetic expression syntax
  • 使用外部expr實用程序。請注意,這僅適用于真正的舊系統(tǒng)。

    num=`expr $num1 + $num2`     # whitespace for expr is important

對于浮點數(shù)

Bash并不直接支持這一點,但您可以使用幾種外部工具:

num=$(awk "BEGIN {print $num1+$num2; exit}")num=$(python -c "print $num1+$num2")num=$(perl -e "print $num1+$num2")num=$(echo $num1 + $num2 | bc)   # whitespace for echo is important

你也可以用科學記數(shù)法(如:2.5e+2


常見的陷阱

  • 設置變量時,不能在任何一側都有空格=,否則會強制shell將第一個單詞解釋為要運行的應用程序的名稱(例如:num=num

  • bcexpr期望每個數(shù)字和運算符作為一個單獨的參數(shù),因此空格很重要。他們無法處理像這樣的論點3+ +4。


查看完整回答
反對 回復 2019-07-29
?
烙印99

TA貢獻1829條經(jīng)驗 獲得超13個贊

有一千零一種方法可以做到這一點。這是一個使用dc

dc <<<"$num1 $num2 + p"

但是,如果這對你來說太過苛刻(或可移植性問題)你可以說

echo $num1 $num2 + p | dc

但也許你是那些認為RPN狡猾而怪異的人之一; 別擔心!bc在這里為您服務:

bc <<< "$num1 + $num2"echo $num1 + $num2 | bc

也就是說,您可以對腳本進行一些無關的改進

#!/bin/bashnum=0metab=0for ((i=1; i<=2; i++)); do
    for j in output-$i-* ; do # for can glob directly, no need to ls
            echo "$j"

             # grep can read files, no need to use cat
            metab=$(grep EndBuffer "$j" | awk '{sum+=$2} END { print sum/120}')
            num=$(( $num + $metab ))
    done
    echo "$num"done

編輯:

BASH FAQ 022中所述,bash本身不支持浮點數(shù)。如果需要對浮點數(shù)求和,則需要使用外部工具(如bcdc)。

在這種情況下,解決方案將是

num=$(dc <<<"$num $metab + p")

添加累積可能的浮點數(shù)num。


查看完整回答
反對 回復 2019-07-29
  • 3 回答
  • 0 關注
  • 885 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號