Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash中类似atoi()的函数?_Bash - Fatal编程技术网

bash中类似atoi()的函数?

bash中类似atoi()的函数?,bash,Bash,假设我使用一个状态文件来存储一个数字,我读取的数字如下: COUNT=$(

假设我使用一个状态文件来存储一个数字,我读取的数字如下:

COUNT=$(

但由于文件可能会被中断,$COUNT可能不包含“数字”,而是包含任何字符

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

编辑

最后,我决定使用如下内容:

a=$($a+0))

declare-ia;a=“abcd123”;echo$a#得到0


多亏了J20的提示。

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

foo1=1
foo2=bar
let foo3=foo1+foo2
echo $foo3
给出结果
1


请参见

echo$COUNT | bc
应能够根据陪审员的评论进行编号,容易出错

echo${COUNT/[a-Z]*}| bc
与regex方法类似,但不容易出错

case "$c" in
[0-9])...
您应该按字符顺序读取输入字符串