shell基本操作

 运算符操作

#!/bin/bash
#方法一
#运算符与数据之间一定要有空格
#做乘法运算时*  需要在*前加\
NUM=`expr 6 \* 2`
echo  $NUM

NUM=`expr 1 + 2`
echo  $NUM

NUM=`expr 6 / 2`
echo  $NUM

#方法二
NUM2=$((1+2))
echo $NUM2
#方法三
NUM3=$[3+2]
echo $NUM3
#方法四
let NUM4=2+2
echo $NUM4
#方法五
#运算符与数据之间一定要有空格
NUM5=$(expr 5 + 2)
echo $NUM5

注意:在使用一个定义过的变量的时候需要在变量名前面加$,最好用{}括起来。

#!/bin/bash
#正确写法
string="hello world"
echo ${string}hello world

#错误写法 这样写解释器会把stringhello当成一个变量
string="hello world"
echo $stringhello world

字符操作

#!/bin/bash
#字符拼接
string="hello"
string="${string} wolrd"
echo ${string}

#获取字符串长度  输出11
#变量为数组时,${#string} 等价于 ${#string[0]}
string="hello wolrd"
echo ${#string}
echo ${#string[0]}

#截取字符串 
string="hello wolrd"
#从第二个字符开始,截取6个字符
echo ${string:2:6} 

数组操作

#!/bin/bash
#数组操作
#数组定义 用括号来表示数组,数组元素用"空格"符号分割开
#使用 @ 符号可以获取数组中的所有元素
array=(1 2 3 4)
echo ${array[@]}
#也可以单独定义数组的值
array[5]=5
echo ${array[@]}
#获取数组长度
echo ${#array[@]}
echo ${#array[*]}
#获取数组单个元素的长度
echo ${#array[0]}

向shell里面传递参数

#!/bin/bash
#在执行shell脚本的时候,可以向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……
echo "Shell 传递参数实例!"
#  "$0" 代表该shell的文件名
echo "执行的文件名:$0"
echo "第一个参数为:$1"
echo "第二个参数为:$2"
echo "传递的参数个数为:$#"
echo "输出所有的参数: $*"
echo "输出所有的参数: $@"
echo "运行脚本的ID号: $$"

 关系运算符

运算符说明
-eg检测两个数是否相等,相等返回true  (==)
-ne检测两个数是否不相等,不相等返回 true (!=)
-gt检测左边的数是否大于右边的,如果是,则返回 true  (>)
-lt检测左边的数是否小于右边的,如果是,则返回 true (<)
-ge检测左边的数是否大于等于右边的,如果是,则返回 true (>=)
-le检测左边的数是否小于等于右边的,如果是,则返回 true (<=)
!非运算,表达式为 true 则返回 false,否则返回 true
-o

或运算,有一个表达式为 true 则返回 true (|)

-a与运算,两个表达式都为 true 才返回 true (&&)
#!/bin/bash
a=10
b=5
#-eg (==)
if [ $a -eq $b ] 
then 
    echo "$a -eg $b  : a等于b"
else
    echo "$a -eg $b  : a不等于b"
fi
#-ne (!=)
if [ $a -ne $b ]
then 
    echo "$a -ne $b  : a不等于b"
else
    echo "$a -ne $b  : a等于b"
fi
#-gt (>)
if [ $a -gt $b ]
then 
    echo "$a -gt $b  : a大于b"
else
    echo "$a -gt $b  : a不大于b"
fi
#-lt (<)
if [ $a -lt $b ]
then 
    echo "$a -lt $b  : a小于b"
else
    echo "$a -lt $b  : a不小于b"
fi
#-ge (>=)
if [ $a -ge $b ]
then 
    echo "$a -ge $b  : a大于等于b"
else
    echo "$a -ge $b  : a小于b"
fi
#-le (>=)
if [ $a -le $b ]
then 
    echo "$a -le $b  : a小于等于b"
else
    echo "$a -le $b  : a大于b"
fi
# !
if [ $a != $b ]
then 
    echo "$a != $b  : a不等于b"
else
    echo "$a == $b  : a等于b"
fi
# -o (|)
if [ $a -le 6 -o $b -lt 10 ]
then 
    echo "$a 大于等于6 或 $b  小于10 :true"
else
    echo "$a 大于等于6 或 $b  小于10 :false"
fi
# -a (&&)
if [ $a -le 9 -o $b -lt 9 ]
then 
    echo "$a 大于等于9 且 $b  小于9 :true"
else
    echo "$a 大于等于9 且 $b  小于9 :false"
fi


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值