📜  检查值是 cmd 中的数字 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:26:45.137000             🧑  作者: Mango

检查值是cmd中的数字 - Shell/Bash

要在Shell/Bash中检查值是否是数字,我们可以使用一个简单的函数is_number(),它将接受一个参数,然后检查这个参数是否是数字。

#!/bin/bash

is_number() {
  re='^[0-9]+$'
  if ! [[ $1 =~ $re ]] ; then
    return 1
  else
    return 0
  fi
}

# 尝试调用函数进行数字检查
if is_number "1234"; then
  echo "是一个数字"
else
  echo "不是一个数字"
fi

上面的代码将尝试调用函数进行数字检查,并输出相应的结果。

代码解释

首先定义了一个函数is_number()

is_number() {
  re='^[0-9]+$'
  if ! [[ $1 =~ $re ]] ; then
    return 1
  else
    return 0
  fi
}

这个函数采用了一个正则表达式来判断传入的参数是否是一个数字。

正则表达式^[0-9]+$表示以数字开头并且以数字结尾,因此如果参数匹配这个正则表达式,那么它就是一个数字。

接下来的if语句检查参数是否匹配正则表达式。如果匹配,则返回0表示是一个数字,否则返回1表示不是一个数字。

if is_number "1234"; then
  echo "是一个数字"
else
  echo "不是一个数字"
fi

这个if语句会尝试调用is_number()函数,并根据函数返回的结果输出相应的消息。

结论

在Shell/Bash中检查值是否是数字的方法很简单,只需使用一个正则表达式即可。这种方法可以帮助我们在编写Shell/Bash脚本时确保使用的参数必须是数字。