bash算術(shù)運算((V++))和((V=V+1))的差異

今天不小心踩了一個坑面氓,把他記在這里兵钮。
我們在循環(huán)的時候通常會用一個變量計算循環(huán)了多次蛆橡;這個變量每次循環(huán)累加1。
常見的寫法有:

typeset NUM=0
while <condition>; do
  <actions>
  ((NUM++))
done

或者:

typeset NUM=0
while <condition>; do
  <actions>  
  ((NUM=NUM+1))
done

((NUM++)和((NUM=NUM+1)有什么區(qū)別嗎掘譬。

  1. 對變量NUM來說效果是一樣的泰演,沒有區(qū)別。
  2. 但是副作用不一樣屁药,即語句的返回值不一樣粥血。

如下:

#!/bin/bash

typeset NUM1=0
((NUM1++))
echo "NUM1=${NUM1}, \$?=$?"

typeset NUM2=0
((NUM2=NUM2+1))
echo "NUM2=${NUM1}, \$?=$?"

運行結(jié)果為:

NUM1=1, $?=1
NUM2=1, $?=0

((V++))這種方式會把表達式的值作為返回值,從而會影響后面的判斷邏輯酿箭。

另一例子:

#!/bin/bash

typeset NUM1=0
typeset NUM2=0
typeset VAL1=0
typeset VAL2=0

VAL1=$((NUM1++))
echo "VAL1=${VAL1}, NUM1=$NUM1, \$?=$?"

VAL2=$((NUM2=NUM2+1))
echo "VAL2=${VAL2}, NUM2=$NUM2, \$?=$?"

運行結(jié)果:

VAL1=0, NUM1=1, $?=0
VAL2=1, NUM2=1, $?=0

VAL1的值是1复亏,post-increment操作先把NUM1的值賦給VAL1,然后再計算NUM1加1操作缭嫡。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缔御,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子妇蛀,更是在濱河造成了極大的恐慌耕突,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件评架,死亡現(xiàn)場離奇詭異眷茁,居然都是意外死亡,警方通過查閱死者的電腦和手機纵诞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門上祈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人浙芙,你說我怎么就攤上這事登刺。” “怎么了嗡呼?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵纸俭,是天一觀的道長。 經(jīng)常有香客問我南窗,道長揍很,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任万伤,我火速辦了婚禮窒悔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘壕翩。我一直安慰自己蛉迹,他們只是感情好傅寡,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布放妈。 她就那樣靜靜地躺著北救,像睡著了一般。 火紅的嫁衣襯著肌膚如雪芜抒。 梳的紋絲不亂的頭發(fā)上珍策,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天,我揣著相機與錄音宅倒,去河邊找鬼攘宙。 笑死,一個胖子當(dāng)著我的面吹牛拐迁,可吹牛的內(nèi)容都是我干的蹭劈。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼线召,長吁一口氣:“原來是場噩夢啊……” “哼铺韧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起缓淹,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤哈打,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后讯壶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體料仗,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年伏蚊,在試婚紗的時候發(fā)現(xiàn)自己被綠了立轧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡丙挽,死狀恐怖肺孵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情颜阐,我是刑警寧澤平窘,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站凳怨,受9級特大地震影響瑰艘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜肤舞,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一紫新、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧李剖,春花似錦芒率、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽靖苇。三九已至球涛,卻和暖如春负间,著一層夾襖步出監(jiān)牢的瞬間辕坝,已是汗流浹背拆座。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工匪傍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留材彪,地道東北人观挎。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像段化,于是被迫代替她去往敵國和親嘁捷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 用戶=玩家 用戶是策略儀表盤要定義的第二要素显熏。 我們可以根據(jù)用戶的年齡普气、職業(yè)、主觀性趣來定義用戶佃延。 也可以用四玩家...
    Lzer0閱讀 473評論 0 0
  • 最美的年華里 與你相遇相知 每一秒的綻放 都感似新生 流行離開的世界 卻都不擅長告別 人走了心留了 時刻共享著美好...
    李玫閱讀 233評論 0 0
  • 事件沖突 解決scrollView的滑動事件與子視圖按鈕事件沖突self.scrollView.panGestur...
    silence_xz閱讀 340評論 0 0
  • 如果沒有現(xiàn)實的羈絆履肃,我真的愿意追逐風(fēng)的腳步仔沿,獨自去流浪,沒有喧囂尺棋,沒有擁擠封锉,沒有爭吵,有的只是一顆躁動不已膘螟,而又復(fù)...
    沉思啟示錄閱讀 1,516評論 32 54