$ echo $((10 + 20))# 30$ one=25$ two=12$ echo $((one+two))# 37
$ echo $((one>two))# 1$ echo $((one<two))# 0
$ echo $(expr $one+$two)# 25+12$ echo $(expr $one + $two)# 37
比较大小需要转义
$ echo $(expr $one \> $two)$ echo $(expr $one \< $two)
&&
||
-f
判断输入内容是非为一个文件-d
判断输入内容是非为一个目录-x
判断输入内容是非可执行-e
判断文件是非存在-eq
相等-gt
大于-lt
小于-ne
不等于==
!=
test
和 []
效果一致
$ [ 1 = 2 ] && echo "条件不成立"$ [ 1 = 2 ] || echo "条件不成立"$ test 1 = 2 && echo "条件不成立"$ test 1 = 2 || echo "条件不成立"
查看使用方法
$ man [ ]$ man test
#!/bin/bash#Author:zhongxin
.sh
exit
返回非零值,来退出程序# 第一种方式$ bash 1126.sh# 第二种方式$ chmod +x 1126.sh$ ./1126.sh# 第三种方式$ source 1126.sh
#
#!/bin/bash#Author:zhongxin:<<!要注释的内容!pwd
#!/bin/bash函数名(){ ...}
#!/bin/bashfunction 函数名{ ...}
#!/bin/bash#Author:zhongxin:<<!要注释的内容!hello(){ echo "Hello,Shell"}hellofunction greet{ echo "Hello,zx"}greet
function greet{ echo "Hello,$1" echo "Hello,$2" echo "Hello,$3"}greet 'a' 'b' 'c'
接收命令行传参
greet $1 $2 $3
#!/bin/bash#Author:zhongxinread -p "请输入你的姓名:" nameread -p "请输入你的年龄:" ageread -p "请输入你的爱好:" function info{ # -e 运行\n换行 echo -e "你的姓名为:${name}\n你的年龄为:${age}\n你的爱好为:${REPLY}"}info
if [ 条件1 ]then 指令1elif [ 条件2 ]then 指令2else 指令2fi
例子:
#!/bin/bash#Author:zhongxinread -p "输入你的年龄:"if [ ${REPLY} -ge 70 ]then echo "好好养生"elif [ ${REPLY} -ge 18 ]then echo "好好工作"else echo "好好学习"fi
for 值 in 列表do 执行语句done
例子
dirs=$(ls /)for i in ${dirs}do index=$((${index} + 1)) echo "${index}.${i}"done
max=10for ((i=1;i<=max;i++))do 执行语句done
例子
#!/bin/bash#Author:zhongxinmax=10for ((i=0;i<=max;i++))do echo "i=${i}"done