shell运算

第一种写法 $(( ))
第二种写法 $ []
第三种写法 expr  


  注意:在expr表达式中,必须添加空格
如果:expr3+5 则报错
如果:expr 3+5   则直接输出3+5

注意:因为expr本身是一个shell命令,所以在输出的时候需要使用反引号(~,1,2,键的左边)

注:expr 表达式只能接受数值



1.算术运算
echo $((a+b))

echo $(($a*$b))

2.逻辑运算
-》 && 逻辑与 (命令控制符)
cmd1 && cmd2  //前面的命令执行成功才会执行后面的命令
-》 || 逻辑或 
cmd1 || cmd2   //前面的命令执行失败才会执行后面的命令
-》 ;无逻辑符号
cmd1 ; cmd2

内置测试判断
分两种:
第一种:test 测试表达式

if test 6 -gt 9
then 
echo bigger
fi




第二种:[测试表达式]

a=6
b=9
if [ $a -lt $b ]
then 
echo smaller
fi 

->第一种比较:数值比较
-eq #equal等于
-ne #not equal不等于
-gt #greater than 大于
-ge #greater equal大于等于
-lt #little than小于
-le #little equal小于等于
注意:在数值的比较中,不能使用”>“ "<"等符号来进行比较
在test 或 [] 进行测试的时候,必须要有空格


可以用逻辑操作符将两个测试表达式结合起来。仅需要用到一对方括号,而不能用两个, 否则将返回错误信息“too many arguments”。
$ [ "990" -le "995" ] -a [ "123" -gt "33"  ]
-bash: [: too many arguments




第二种比较:字符串的比较
分为5种比较方式
= 等于
!= 不等于
-z 长度为0则为true(返回0) 不为0为false(返回非0) 
-n 长度不为0则为true
$string 字符串不为空则为true(返回0)

第三种:文件的测试或比较
-d (directory)如果是目录则为true
-f  (file)如果是文件则为true
-r 如果是可读则为true
-w 如果是可写则为true
-x 如果是可执行则为true
注意:可读可写可执行是针对于执行脚本的用户而言的权限


总结:
  shell 编程规范:头 # 执行(两种)
  shell 变量:
  1.环境变量(用户变量和全局变量)
  2.位置变量($1---$9)->相当于形式参数 一个脚本可以认为是java中一个方法
  3.预定义变量:($0  $$ $* #@ $?)
  4.自定义变量:
  直接赋值
  间接
  把命令传给变量
  *取变量值
  运算表达式:$(())
  $[]
  expr
  1.算术运算  + - \* /
  2. 命令控制符  &&    ||   ;
  测试表达式:
  test
  [ ]
  1.数值关系:  eq  ne  lt 
  2.字符串测试: = !=  -n  -z
  3.文件测试: -d  -f   -r -w -x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值