亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

為什么在if表達式中應該使用=而不是使用==

為什么在if表達式中應該使用=而不是使用==

函數式編程 2019-04-16 20:27:30
code如下bashif[${currentValue}==A]thentempValue="$i123"elsetempValue=$ifi為什么[${currentValue}=A]才是更精準的?
查看完整描述

2 回答

?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

因為當初POSIX標準是這么規定的(你可以mantest看看)。但實際上大部分實現都支持==的。如果你的腳本想要可移植性的話請使用=。如果你的腳本只支持bash的話請使用[[關鍵字以及==操作符([是一個也叫作test的命令,大部分shell都會有內建版本)。
zsh是推薦在它的[[關鍵字里使用==而非=的。
PS:SQL也是用=表示相等的。使用==表示相等據說是因為=被C用來表示賦值了,而C用=表示賦值是因為賦值語句比相等判斷語句出現得更多,這樣子可以每次賦值時節約一字節內存。
                            
查看完整回答
反對 回復 2019-04-16
?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

因為[${currentValue}=A]是bash的標準用法,但bash也不否定==是錯誤的.可以簡單地認為=與==是一樣的.所以使用=還是==只是個人習慣問題.
至于為什么要用==而非標準的=,是因為C語言的關系,在C中=是賦值的意思,==是邏輯上的等于,由于linux是C寫成的,所以用==比較容易接受
                            
查看完整回答
反對 回復 2019-04-16
  • 2 回答
  • 0 關注
  • 692 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號