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")
如果您确定您的变量仅包含整数值,则键入它将为您提供一些灵活性和错误检查。