Bash 中的整型变量?

Bash 中的整型变量?

Bash 中有两种定义和使用整数类型变量的方法

  • declare -i一个新变量
  • 在算术表达式中使用变量而不声明它。

我的问题:

两种方式创建的变量有什么区别?特别是它们的用途存在差异,什么时候使用哪个?

答案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")

如果您确定您的变量仅包含整数值,则键入它将为您提供一些灵活性和错误检查。

相关内容