Ksh
ksh88 是否使用 10#n 語法將數字解釋為十進制?
我想以最少的努力將前導零的數字視為小數,因此我打算使用以下語法:
x=08 y=$(( 10#$x - 1 ))
以下語法適用於ksh88嗎?
看起來是這樣的:
$ command -v ksh /usr/bin/ksh $ what /usr/bin/ksh /usr/bin/ksh: Version M-11/16/88i SunOS 5.8 Generic 110662-24 Apr 2007 $ ksh $ x=08 $ y=$(( 10#$x - 1 )) $ echo "$x - $y" 08 - 7
從手冊頁的“算術評估”部分:
常量的格式為 [ base# ] n,其中 base 是 2 到 36 之間的十進制數,表示算術基數,n是該基數中的數字。如果省略base,則使用 base 10。