如何修改(而不是添加)数字变量?

如何修改(而不是添加)数字变量?

假设a=$((1))

如何更改afrom1到 的值01?我只想0在当前值之前插入a并重写它。

a=$((01))在这种情况下不是解决方案,因为a可以是任何一位数字,不一定是1。这将是硬连线代码。我希望变量a能够自动更新。

答案1

您可以将其a视为字符串,因此在"0"其前面添加即可:

a="0$a"

您还可以将其格式化a为具有已定义位数的字符串。例如,使用两位数格式时,数字0-9会添加前导零,但数字10-99不会:

a=$(printf "%02d" $a)

请注意,将具有前导零的数字相加时,您最终将使用八进制算术而不是十进制。例如,这可能不会达到您的预期:

a=08
echo $(( a + 1 ))

答案2

它就像a=0"$a"在内容前面加上$a“0”一样简单。

相关内容