こんにちは。
サブシェル内における変数の設定は元シェルへは反映されないです(ローカルスコープ扱い)。下記例は、括弧「( )」で囲われ(そしてその値を取り出し)ているので、サブシェルで実行されます。
$ m=$(n=1); echo $n
$
これに対して、算術結果値を得る $((...)))
の形式は、サブシェルではないので、変数設定は反映されます。
$ m=$((n=1)); echo $n
1
$
Go to list of users who liked
More than 3 years have passed since last update.
こんにちは。
サブシェル内における変数の設定は元シェルへは反映されないです(ローカルスコープ扱い)。下記例は、括弧「( )」で囲われ(そしてその値を取り出し)ているので、サブシェルで実行されます。
$ m=$(n=1); echo $n
$
これに対して、算術結果値を得る $((...)))
の形式は、サブシェルではないので、変数設定は反映されます。
$ m=$((n=1)); echo $n
1
$
Register as a new user and use Qiita more conveniently
Go to list of users who liked