2016-06-08 325 views
1

類Unix系統中的$(())expr之間的主要區別是什麼?

+1

@andlrc這根本不相關。 – 123

+1

'$(())'用於bash算術。 expr用於評估表達式,這可以是算術或字符串。查看'$(())'的bash手冊頁,'expr'手冊頁會告訴你兩個命令都可以做的所有事情。 – 123

+0

不只是bash算術。 $(())'自1991年發佈以來一直在POSIX sh規範中。 –

回答

2

$(())幾乎肯定會在您正在使用的shell中。 expr可能是一個外部電話

+0

POSIX呢? – SuckLips

+0

兩者都由POSIX指定。你可能會構造一個場景,它使用一個命令而不是內置的語法進行算術運算,但大部分'$((...))'已經替換了除expr之外的所有正則表達式。 – chepner

0

expr是從Bourne殼早期保留。您應該避免使用expr,除非您被迫創建需要與傳統(POSIX前)sh實現進行互操作的腳本。 (因爲例如Solaris sh屬於這個類別,所以不會太早。)

相關問題