想象一下,我使用的状态文件来存储一个数字,我读到这样的数字:atoi()函数在bash中吗?
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的提示。
'echo“1a2”| bc'产生'(standard_in)1:解析错误' – jurgemaister
谢谢..编辑答案。 – loxxy