ksh88は、数値を10進数として解釈するために10#n構文を使用しますか?

ksh88は、数値を10進数として解釈するために10#n構文を使用しますか?

最小限の努力で前にゼロの数字を少数で処理したいので、次の構文を使用します。

x=08
y=$(( 10#$x - 1 ))

次の構文が適用されます。クッシュ 88

ベストアンサー1

次のようになります。

$ 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

「算術評価」セクションでマニュアルページ:

定数の形は[によると#]Nどこ ~によると は算術の進数を表す2から36までの10進数であり、Nはその下の数字です。もし~によると省略すると、10進法が使用されます。

おすすめ記事