gpt4 book ai didi

bash - atoi() 类似于 bash 中的函数?

转载 作者:行者123 更新时间:2023-12-04 03:04:57 24 4
gpt4 key购买 nike

想象一下,我用一个状态文件来存储一个数字,我是这样读取数字的:

COUNT=$(< /tmp/state_file)

但是由于文件可能被破坏,$COUNT 可能不包含“数字”,而是任何字符。

除了使用正则表达式,即 if [[ $COUNT ~ ^[0-9]+$ ]]; then blabla; fi , 是否有将其转换为数字的“atoi”函数(如果无效则为 0)?

编辑

最后我决定使用这样的东西:

let a=$(($a+0))

或者

declare -i a; a="abcd123"; echo $a # got 0

感谢 J20 的提示。

最佳答案

您不需要 atoi 等价物,Bash 变量是无类型的。尝试在算术中使用设置为随机字符的变量只会默默地忽略它们。例如

foo1=1
foo2=bar
let foo3=foo1+foo2
echo $foo3

给出结果 1

参见 this reference

关于bash - atoi() 类似于 bash 中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12726741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com