Shell脚本中判断变量为数字的3种方法
方法1:通过expr 计算变量与一个整数值相加,如果能正常执行则为整数,否则执行出错,$?将是非0的值
expr $args + 0 &>/dev/null
方法2:打印变量通过sed替换的方式,将变量中的数字替换为空,如果执行替换后变量为空,则为整数
echo $args | sed 's/[0-9]//g'
如果判断负数则再用sed过滤负号
echo $args | sed 's/[0-9]//g' | sed 's/-//g'
下面的脚本通过两个函数来实现数值判断。代码很简单,就不加注释了。
#!/bin/bash
usage(){
cat <<EOF
USEAGE:sh $0args1 args2
exit 1
EOF
}
checkInt(){
expr $1+ 0&>/dev/null
[ $? -ne 0] &
}
checkInt1(){
tmp=`echo $1|sed 's/[0-9]//g'`
[ -n "${tmp}"]&
}
[ $# -ne 2]&&usage
args1=$1
args2=$2
checkInt $args1
checkInt1 $args2
if[ $args1 -gt $args2 ];then
echo "yes,$args1 greate than $args2"
else
echo "no,$args1 less than $args2"
fi
相关推荐
-
Shell脚本中判断变量为数字的3种方法
方法1:通过expr 计算变量与一个整数值相加,如果能正常执行则为整数,否则执行出错,$?将是非0的值 复制代码 代码如下: expr $args + 0 &>/dev/null 方法2:打印变量通过sed替换的方式,将变量中的数字替换为空,如果执行替换后变量为空,则为整数 复制代码 代码如下: echo $args | sed 's/[0-9]//g' 如果判断负数则再用sed过滤负号 复制代码 代码如下: echo $args | sed 's/[0-9]//g' | sed 's/-/
-
PHP中判断变量为空的几种方法小结
1. isset功能:判断变量是否被初始化 说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右 复制代码 代码如下: $a = '';$a['c'] = '';if (!isset($a)) echo '$a 未被初始化' . "";if (!isset($b)) echo '$b 未被初始化' . "";if (isset($a['c'])
-
PHP中判断变量为空的几种方法分享
1. isset功能:判断变量是否被初始化 说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过 注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右 复制代码 代码如下: $a = '';$a['c'] = '';if (!isset($a)) echo '$a 未被初始化' . "";if (!isset($b)) echo '$b 未被初始化' . "";if (isset($a['c
-
shell脚本中echo显示内容带颜色的实现方法
shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 格式如下: 复制代码 代码如下: echo -e "\033[字背景颜色:文字颜色m字符串\033[0m" 例如: 复制代码 代码如下: echo -e "\033[41;36m something here \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色 注: 1.字背景颜色和文字颜色之间是英文的"" 2.文字颜色后面有个m 3.字符串前后可
-
Shell脚本中判断输入参数个数的方法
$#代表了命令行的参数数量,可以看以下实例: 复制代码 代码如下: if [ $# != 1 ] ; then echo "USAGE: $0 TABNAME" echo " e.g.: $0 CDR_CALL_20040701" exit 1; fi 位置参数 $1, $2,..., $N,$#代表了命令行的参数数量, $0代表了脚本的名字 -ne 不等于 ----------------------- shell 编程中使用到得if语句内判断参数 –b 当
-
Shell脚本中判断输入变量或者参数是否为空的方法
1.判断变量 复制代码 代码如下: read -p "input a word :" word if [ ! -n "$word" ] ;then echo "you have not input a word!" else echo "the word you input is $word" fi 2.判断输入参数 复制代码 代码如下: #!/bin/bash if [ ! -n "$1"
-
shell脚本中一键部署zookeeper集群服务的方法
目录 一键部署zookeeper集群服务 1. 编写脚本情况分析 2. 脚本代码部分 3. 实验测试部分 一键部署zookeeper集群服务 1. 编写脚本情况分析 Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目. Zookeeper适合安装奇数台服务器. 脚本完成后将会产生:一个领导者(Leader) ,多个跟随者(Follower) 组成的集群. 此脚本默认的安装包为:apache-zookeeper-3.5.7-bin.tar.gz,如果使用其他版本,自
-
c#中判断字符串是不是数字或字母的方法
一.判断字母 复制代码 代码如下: string str = Console.ReadLine();if (char.isLetter(str)){}else if (char.IsDigit(str)){} if(ch>='a'&&ch<='z') 小写字母if(ch>='A'&&ch<='Z') 大写字母数字也一样.判断汉字一般是输入 >255 因为汉字是大字符集二.判断输入的是不是数字 复制代码 代码如下: try{int n = 0;n
-
JavaScript判断是否为数字的4种方法及效率比较
今天针对不同的数值判定方式在chrome上做了一个效率的对比,结果如下: 注意:通过正则表达式仅能用于字符串中的内容是否是纯数值,而不能用于判断是否是数值对象.放在此处仅用于对比. 其代码如下: var ret; var o = 1; var pattern = /^(-?\d*.?\d*)$/; var toStr = {}.toString; var array = {}; array["[object Number]"] = "number"; console
-
shell 脚本中常用的内置变量(Bash 内置变量)
$FUNCNAME.$LINENO.$PWD FUNCNAME和LINENO 变量经常用于脚本的调试 FUNCNAME 表示当前函数的名字,作用范围仅限函数中使用,在函数外无值 LINENO 表示当前所在脚本中变量出现在的行号 PWD 表示当前目录, 对应于 pwd命令 现有个脚本 a.sh 内容如下 #!/bin/bash testa() { echo 'func='$FUNCNAME,$LINENO } testa echo 'lineno:'$LINENO echo 'xx:'$FUNCN
随机推荐
- 一个加密JavaScript的开源工具PACKER2.0.2
- oracle wm_concat 列转行 逗号分隔
- IOS上iframe的滚动条失效的解决办法
- javascript操作cookie
- 写一段简单的PHP建立文件夹代码
- php实现在新浪云中使用imagick生成缩略图并上传的方法
- php将fileterms函数返回的结果变成可读的形式
- dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
- Python3实现Web网页图片下载
- JavaScript中的原型prototype属性使用详解
- javascript模拟命名空间
- JSP实现的简单分页显示效果代码
- And,Where使用提示以及用+进行左关联的提示及注意事项
- 深入了解Android中的AsyncTask
- JavaScript创建一个object对象并操作对象属性的用法
- js文件包含的几种方式介绍
- Android实现文件存储并读取的示例代码
- php导入模块文件分享
- jxl 导出数据到excel的实例讲解
- pyqt5自定义信号实例解析