想象一下,我使用一个状态文件来存储一个数字,我这样读取数字:
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 的提示。