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
随机推荐
- Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
- 地震云图片大量组图赏析
- ruby 流程控制 方法
- 动态代理的5模式使用示例和Mixin模式
- 详解WordPress开发中过滤属性以及Sql语句的函数使用
- Android自定义View实现飘动的叶子效果(三)
- Python标准库urllib2的一些使用细节总结
- Python Paramiko模块的安装与使用详解
- JavaScript 计算当天是本年本月的第几周
- 选择指定数量后checkbox不可选(变灰)javascript代码
- 通用JS事件写法实现代码
- Apache 多端口多站点配置方法
- nginx status状态页配置方法和中文说明
- Oracle自动备份脚本
- nodejs中实现阻塞实例
- ES6中Generator与异步操作实例分析
- 三级下拉菜单的js实现代码
- JS预览图像将本地图片显示到浏览器上
- 三个月内通过Adsense赚一百万美金
- C# Main方法的传入参数研究