米扑博客 总结了 Bash shell 的算术运算有四种方式: 1、使用 expr 外部程式 加法 r=`expr 4 + 5` echo $r 注意!...echo $r 减法 r=`expr 40 - 5` r=$(( 40 - 5 )) r=$[ 40 - 5 ] echo $r 求余数 r=$[ 100 % 43 ] echo $r 乘幂 (如 2 的...有四种算术运算方法,但并不是每一种都是跨平台的,建议使用expr。...另外,我们在 script 中经常有加1操作,以下四法皆可: m=$[ m + 1] m=`expr $m + 1` m=$(($m + 1)) let m=m+1 Shell awk 循环求和 1....的内部算术运算符无法处理浮点数,所以当需要处理浮点数是,要用到外部工具(如awk)
shell字符串比较说明 1 完全比较方法(完全匹配) if [ "$soure" == "$dest" ]; then echo "is ==" else echo "is !...=" fi if语句中的==判断字符串是否相等: 1、使用完全匹配方式; 2、两边的双引号都是可有可无的,但当字符串为空的时候就会报错,提示unary operator expected...2 模糊比较方法(正则表达式) if [[ "$soure" == dest* ]]; then echo "is ==" else echo "is !...=" fi 当if语句中的单中括号[]变成双中括号[[]]时,支持模糊匹配,此时: 1、模糊匹配规则不能添加双引号,否则无效,会被当做普通字符串进行比较。 ...2、被比较的字符串,可以加双引号,也可以不加,当字符串为空也不会报错,但是为了统一规范,防止遗漏,因此,推荐还是加入双引号。
grep -q xx 是否存在 if xx;then ddd elif ss;then xx else xx fi
欢迎转载,转载请注明出处,谢谢 在bash shell中,整数的运算也会偶尔遇到。为了彻底弄清其中的奥秘,我们通过实例验证的方式来探索一下常见的四种运算中的区别与联系。...+d)) 13 [root@GeekDevOps ~]# echo $((a+c)) 8 [root@GeekDevOps ~]# echo $((a+e)) -bash: 7.2: 语法错误: 无效的算术运算符...# let x=a+d [root@GeekDevOps ~]# echo $x 13 [root@GeekDevOps ~]# let x=a+e -bash: let: 7.2: 语法错误: 无效的算术运算符...(错误符号是 ".2") [root@GeekDevOps ~]# let x=c+d [root@GeekDevOps ~]# echo $x 3 从以上例子中,我们可以看到,使用let命令来进行算术运算与小括号及中括号无较大差异...五、总结 以上例子中为了节约篇幅,仅仅以加法运算来进行实验。在bash shell中还支持减法(-)、乘法(*)、除法(/)、求余(%)等运算,其运算规则及方式大同小异,不一一介绍。
创建Shell脚本文件 touch compute.sh 3. 编辑Shell脚本 vi compute.sh 输入以下代码: #!...Shell编程中,条件测试结果为true,则返回退出状态为0,否则结果为false,并返回非0退出状态。 所以,编写Shell时,不能以C编程中0表示false,非0表示true的方式来理解。 !..." fi 条件测试中,整数的比较有专用的写法,例如-eq表示运算符前后两个整数值相等,-ne表示运算符前后两个整数值不相等,而常用的=,!...=运算符专用于比较字符串。 -a 是逻辑运算符中的逻辑与运算,类似的,-o 表示逻辑或。...逻辑运算的优先级会低于比较运算,但可以用圆括号改变优先级顺序,需要注意的是,在Shell中,圆括号需要用反斜杠转义后使用。
在编写 Shell 脚本时,条件判断是控制脚本流程的重要手段。Shell 提供了多种方式来进行条件判断,其中[ ]和[[ ]]是两种常见的条件测试表达式。...使用[ ]进行条件判断 在 Bash 中,[ ]用于基本的条件测试。...[[ ]]的优势在于它可以直接处理模式匹配,这使得它在处理字符串时更加方便。 4. 变量和字符串的处理 在 Shell 脚本中,正确处理变量和字符串是非常重要的。...环境配置:根据不同的环境变量配置脚本的行为。 错误处理:根据条件判断是否发生错误,并执行相应的错误处理代码。 6. 结论 在 Shell 脚本编写中,[ ]和[[ ]]都是进行条件判断的重要工具。...因此,在 Bash 脚本中,推荐使用[[ ]]来进行条件判断,以利用其强大的功能和更好的性能。
Shell脚本条件测试 语法 说明 test 利用test命令进行条件测试 [] 通过[]进行条件测试 [[]] 通过[[]]进行条件测试 (()) 通过(())进行条件测试 test语法 test...f1 -ot f2 文件f1比文件f2旧则为真,即表达式成立,根据文件的修改时间来计算 字符串测试表达式 字符串测试符 说明 -n "字符串" 若字符串不为“0”,则为真,即表达式成立 -z "字符串...= "串2" 若字符串1不等于字符串2,则为真,即表达式成立 整数二次元比较符 在[]以及test中使用的比较符 在(())和[[]]中使用的比较符 说明 -eq ==或者= 相等 -ne !...在[[]]和(())中使用的操作符 说明 -a && and,与,两端为真,则结果为真 -o 双竖线 or,或,两端一个为真,则结果为真 !...= "2" ] && { echo error exit 1 } 比较两个整数的大小 root@cs:/server/scripts# cat int.sh #!
在日常的 Shell 脚本编写中,我们经常会遇到需要进行数学计算的场景。...不过,别担心,通过本文,你将学会如何在 Shell 中灵活进行各种数学计算。...准备好开始你的 Shell 数学之旅了吗?Shell 算术运算符在深入示例之前,让我们先快速了解一下 Shell 支持的一些基本算术运算符及其含义。...=, +=, -=, *=, /=, %=赋值运算符 Shell 中的数学计算方式shell 中常用的六种数学计算方式:运算操作符/运算命令说明(( ))用于整数运算...比较麻烦,需要注意各种细节,不推荐使用。bcLinux下的一个计算器程序,可以处理整数和小数。Shell 本身只支持整数运算,想计算小数就得使用 bc 这个外部的计算器。
参考链接: Python中的除法运算符 算数运算符是 运算符的一种,一般用来处理四则运算。 ...(商) 9 // 2 输出结果 4 % 取余数 返回除法的余数 9 % 2 = 1 ** 幂 又称次方、乘方,2 ** 3 = 8 另外: 在 Python 中...* 运算符还可以用于字符串,计算结果就是字符串重复指定次数的结果 print("+"*20) console:+++++++++++++++++++ 和数学中的运算符的优先级一致,在 Python...中进行数学计算时,同样也是: 先乘除后加减 同级运算符是 从左至右 计算 可以使用 () 调整计算的优先级 以下表示算术优先级由高到最低顺序排列: 第一: ** 第二: *...ok ,Python中的算术运算符到这里就木有了,^_^o !
= "one two three" ] 3.算术比较运算符 num1 -eq num2 等于 [ 3 -eq $mynum ] num1 -ne num2 不等于 [ 3 -ne $mynum ] num1...-b文件名 如果文件存在且为块特殊文件则为真 7.替换运算符 Bash Shell可以进行变量的条件替换,既只有某种条件发生时才进行替换,替换条件放在{}中....message} 若变量已赋值的话,正常替换.否则将消息message送到标准错误输出(若此替换出现在Shell程序中,那么该程序将终止运行) (4) ${value:+word}...中与pattern相匹配的部分,条件是value的开头与pattern相匹配 #与##的区别在于一个是最短匹配模式,一个是最长匹配模式...string的内容,/与//的区别与上同 注意: 上述条件变量替换中,除(2)外,其余均不影响变量本身的值
算术运算符 加法与减法运算符 乘法与除法运算符 求模(求余)运算符 2....算术运算符 算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加(+)、减(-)、乘(*)、除(/)和取模(%)运算。...比较运算符 比较运算符用来对表达式左边的操作数和右边的操作数进行比较,比较的结果为真则返回1,比较的结果为假则返回0,其他情况则返回NULL。...在使用等号运算符时,遵循如下规则: 如果等号两边的值、字符串或表达式都为字符串,则MySQL会按照字符串进行比较,其比较的是每个字符串中字符的ANSI编码是否相等。...当参数中是整数或者浮点数时,GREATEST将返回其中最大的值; 当参数为字符串时,返回字母表中顺序最靠后的字符; 当比较值列表中有NULL时,不能判断大小,返回值为NULL。
通常C/C++中,"/ " 算术运算符的计算结果是根据参与运算的两边的数据决定的,比如: 6 / 3 = 2 ; 6,3都是整数,那么结果也就是整数2; 6.0 / 3.0 = 2.0 ; 6.0,3.0...是浮点数,那么结果也是浮点数2.0,跟精确的说,只要" / " 两边有一个数是浮点数,那么结果就是浮点数。 ...在Python2.2版本以前也是这么规定的,但是,Python的设计者认为这么做不符合Python简单明了的特性,于是乎就在 Python2.2以及以后的版本中增加了一个算术运算符" // "来表示整数除法...,返回不大于结果的一个最大的整数,而" / " 则单纯的表示浮点数除法,但是,为了折中,所有2.X版本中,也是为了向后兼容,如果要使用" // ",就必须加上一条语句: from __future
$0 这个程式的执行名字 $n 这个程式的第n个参数值,n=1..9 $* 这个程式的所有参数,此选项参数可超过9个。...$# 这个程式的参数个数 $$ 这个程式的PID(脚本运行的当前进程ID号) $! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号) $?...执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误) $- 显示shell使用的当前选项,与set命令功能相同 $@ 跟$*类似,但是可以当作数组用
(变量:程序运行中可以发生变化的量)接下来我们用复利计算来说明一下python的这一个特性: price = 1000; #金额初始为1000 rate = 0.05 #利率为每期0.05 years...initial +=1 结果应该是 1 1050.00 2 1102.50 3 1157.62 4 1215.50 5 1276.28 我们和PHP语言进行一下对比(因为PHP也是一种动态类型语言): 在PHP中如何进行复利运算呢...比如"%3d,%0.2f" %3d 意思是将一个整数格式化为宽度3 列中右对齐而%0.2f代表格式化浮点型保留2位小数 格式样式图 如下 %% 百分号标记 %c 字符及其ASCII码 %s 字符串...%e或%f) %G 浮点数字(类似于%g) %p 指针(用十六进制打印值的内存地址) %n 存储输出字符的数量放进参数列表的下一个变量中 (Ps:这个可以不用记 只需要记住 %3d和%0.2f就行) 我们还可以使用字符串格式化方法...python中变量在程序运行中 值和类型都会发生改变 如初始金额1000 经过复利运算变为了浮点型数值 算术表达式: +、-、*、/运算 print可以格式化展示输出的样式 使得输出更美观
最近项目有一个需求,需要在多个数据库的schema上跑一些脚本。希望dba能够提供一个脚本,能够根据需求在环境中执行指定的脚本。 乍一听,没什么技术难点,为了更明白的说明问题,我举个例子。...目前的情况只能够得到db schema的列表,对于里面是否还有5个表,还没有细粒度的管理。 脚本需要从db schema的列表中筛选出符合的 db schema,然后执行脚本内容。...@script/script3.ps dbms_output.put_line('app POST SCRIPTS RUNNING...'); end if; end; / pl/sql执行情况: shell...shell脚本1内容如下: echo `sqlplus -s user1/user1@DB1 <<EOS set feedback off pages 0 select (case when (select...EOS ############## shell 脚本实现动态shell ################################
一.简介 源码地址 日期:2019/12/19 介绍:较两个mysql实例的配置是否一致,支持比较配置文件,也支持比较系统变量的值 效果图: 二.使用 适用:centos6+ 语言:中文 注意:无...下载 wget https://gitee.com/mo-shan/check_mysql_conf/raw/master/check_mysql_conf_diff.sh 对比系统变量 脚本的opt变量必须是...system mysql连接配置需要用户自己定义 配置好直接执行如下命令 bash check_mysql_conf_diff.sh 对比配置文件 脚本的opt变量必须是conf 配置好直接执行如下命令
= "one two three" ]算术比较运算符num1 -eq num2等于[ 3 -eq $mynum ]num1 -ne num2不等于[ 3 -ne $mynum ]num1 -lt num2...-b文件名 如果文件存在且为块特殊文件则为真 条件变量替换: Bash Shell可以进行变量的条件替换,既只有某种条件发生时才进行替换,替换 条件放在{}中....message} 若变量已赋值的话,正常替换.否则将消息message送到标准错误输出(若此替换出现在Shell程序中,那么该程序将终止运行) (4) ${value:+word} ...string的内容,/与//的区别与上同 注意: 上述条件变量替换中,除(2)外,其余均不影响变量本身的值 #!....]' > res 推荐参考: Linux Shell函数返回值 Linux 之 shell 比较运算符(推荐) Linux Shell学习简单小结(推荐) SHELL学习笔记----IF条件判断
] && echo true || echo false true [root@linux /]# [ -z /www/ ] && echo true || echo false false 整数值比较...整数值比较指的是根据给定的两个整数值,判断第一个数与第二个数的关系,比如等于、大于、小于等。...常用的选项有: -eq:等于 -ne:不等于 -gt:大于 -lt:小于 -le:小于或等于 -ge:大于或等于 整数值比较在Shell编写中的应用较多。例如,用来判断已登录用户数量、开启的进程数等。...|echo 关闭 开启 [root@linux /]# pkill nginx [root@linux /]# [ $www -eq 1 ] && echo 开启||echo 关闭 关闭 字符串比较...字符串比较通常用力啊检查用户输入、系统环境等是否满足条件,在提供交互式操作的脚本中,也可以用来判断用户输入的位置参数是否符合要求,参数有: = 等于 !
参考链接: 用Python链接比较运算符 sql算术运算符 At its core, the internet and all its applications are just data. ...我们称此表为users ,此表中的每一行将代表我们的一个用户。 ...在我们的数据中,有两行与该名字匹配。 ...NULL是数据库中的特殊值。 是缺少或缺少值,并且它的行为不像我们期望的那样。 ...现在我们有了一些数据,让我们对这个新的TIMESTAMP字段使用相同的比较运算符。
系统变量 常用系统变量 $HOME、$PWD、$SHELL、$USER等 2.案例实操 (1)查看系统变量的值 $ echo $HOME (2)显示当前Shell中所有变量:set $ set BASH...(2)等号两侧不能有空格 (3)在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。 (4)变量的值如果有空格,需要使用双引号或单引号括起来。...unset readonly B=2 echo $B 2 B=9 -bash: B: readonly variable (5)在bash中,变量默认类型都是字符串类型,无法直接进行数值运算 C=1...$D I love b (7)可把变量提升为全局环境变量,可供其他Shell程序使用,规则:export 变量名 vim helloworld.sh 在helloworld.sh文件中增加echo...(功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。)