Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
Shell 需要用户输入整数_Shell_Unix - Fatal编程技术网

Shell 需要用户输入整数

Shell 需要用户输入整数,shell,unix,Shell,Unix,我正在使用下面的脚本添加两个数字,但我不希望用户输入非数字字符,所以我需要测试并抛出一个错误。如何测试用户条目 echo add 2 numbers read sum1 read sum2 let sum3=$sum1+$sum2 echo ans is $sum3 使用printf测试变量是否为有效整数: isInt() { [[ -n "$1" ]] && printf '%f' "$1" >/dev/null 2>&1 &&

我正在使用下面的脚本添加两个数字,但我不希望用户输入非数字字符,所以我需要测试并抛出一个错误。如何测试用户条目

echo add 2 numbers
read sum1
read sum2
let sum3=$sum1+$sum2
echo ans is $sum3

使用
printf
测试变量是否为有效整数:

isInt() {
    [[ -n "$1" ]] && printf '%f' "$1" >/dev/null 2>&1 && 
                  echo "valid integer" || echo "invalid integer";
}

我使用的declare-i可能重复如下,

#/bin/bash
回声整数测试
读取编号
declare-i iint=$no
`[$iint=“$no”]&&echo“valid integer”| | echo“invalid integer”`

对于用户输入的数字而言,这是无法计算出来的。

整数测试
2w
int.sh:第4行:declare:2w:对于基值太大(错误标记为“2w”)
int.sh:第5行:[:=:应为一元运算符
无效整数

您能告诉我如何解决此问题吗?