Bashの整数変数?

Bashの整数変数?

Bashで整数型変数を定義して使用する方法は2つあります。

  • declare -i新しい変数
  • 算術式で変数を宣言せずに使用します。

私の質問:

2つの方法で生成された変数の違いは何ですか?特に用途に違いがありますが、いつどんなものを使うべきですか?

答え1

変数が型付けされるという事実は、一般変数にはないいくつかの属性を提供します。

f() {
  v=0xff
  echo $v
  v=hello
  echo $v
  v=123a
  echo $v
}

f
declare -i v
f

印刷する

0xff
hello
123a

255
0
bash: 123a: value too great for base (error token is "123a")

変数に整数値のみが含まれていると確信している場合は、これを入力してある程度の柔軟性を確保し、エラーを確認できます。

関連情報