Shell脚本学习

   根据Advanced Bash-Scripting Guide 

     No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. --Herbert Mayer

Shell 变量

    定义变量时,变量名不加美元符号如:name="com"
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
    首个字符必须为字母(a-z,A-Z)。
    中间不能有空格,可以使用下划线(_)。
    不能使用标点符号。
    不能使用bash里的关键字(可用help命令查看保留关键字)。

root@liujie-desktop:/software/shell# expr 2 + 2
4
root@liujie-desktop:/software/shell# expr 2+2
2+2
root@liujie-desktop:/software/shell# a=10
root@liujie-desktop:/software/shell# b=20
root@liujie-desktop:/software/shell# echo `expr $a + $b`
30
算术运算1 :利用expr
#!/bin/sh
echo $0
echo $$
val=`expr 2 + 2` #运算符和表达式之间必须有空格
echo "$val"
a=10;
b=20;
v=`expr $a \* $b`     #要用转义字符\*,否则语法错误
echo "v :$v"
root@liujie-desktop:/software/shell# ./stu.sh 
./stu.sh
3515
4
v :200
算数运算2:利用let
((i=$j+$k))    等价于 i=`expr $j + $k`
((i=$j-$k))     等价于   i=`expr $j -$k`
((i=$j*$k))     等价于   i=`expr $j \*$k`
((i=$j/$k))     等价于   i=`expr $j /$k`
root@liujie-desktop:/software/shell# let b=1+2
root@liujie-desktop:/software/shell# echo $b
3
算术运算3 : 利用$[]
root@liujie-desktop:/software/shell# s=$[1+2]
root@liujie-desktop:/software/shell# echo $s
3
关系运算和布尔运算
[ $a  -eq  $b ]    equal

ne : not equal

gt  :greater than

lt : litter than

ge : greater  equal

le : liiter equal

! 非

-o :OR

-a : and

字符串运算符

a和b是字符串

[ $a = $b ]    

[ $a != $b ]

[ -z $a ]    zero

[ -n $a ]  not zero

[ $a  ] 是否为空 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值