【发布时间】:2017-09-13 13:33:32
【问题描述】:
a="5"
b=1
c=$((a+b)
echo $c
c 打印出 6
a="banana"
b=1
c=$((a+b))
echo $c
c 打印出 1
bash 如何将 a="5" 识别为整数?为什么 a="banana" 会变成 0?
【问题讨论】:
-
a="5"与a=5完全相同。在每种情况下,a 都是一个字符串。 -
然后,试试
a=banana; banana=9; c=1; echo $((a + c)) -
@Clicky --
declare -p a将以明确的形式显示a,其中包括有关它是本地的、全局的、导出的、标记为数组等的任何信息——所以如果你想向自己证明a="5"和a=5是相同的,执行它们中的每一个,然后执行declare -p a。 -
那么为什么banana = 0。不是整数的字符串是否默认为0?为什么香蕉 + 1 = 1?
标签: string bash variables integer