if 判断
1)基本语法
if [ 条件判断式 ];then
程序
fi
或者
if [ 条件判断式 ]
then
程序
elif [ 条件判断式 ]
then
程序
else
程序
fi
注意事项:
(1)[ 条件判断式 ],中括号和条件判断式之间必须有空格
(2)if后要有空格
小案列
脚本文件:
=============================================
#!/bin.bash
echo "方式一:============================"
if [ $1 -lt $2 ];then
echo "$1 小于 $2"
else
echo "$1 大于等于 $2"
fi
echo "方式二:========================="
if [ $1 -gt $2 ]
then
echo "$1 大于 $2"
else
echo "$1 小于等于 $2"
fi
echo "加入elif分支==================="
if [ $1 -gt $2 ];then
echo "$1 大于 $2"
elif [ $1 -eq $2 ];then
echo "两个数相等"
else
echo "$1 小于 $2"
fi
===========================================================
执行脚本:
[future@future ~]$ sh if.sh 8 8
方式一:============================
8 大于等于 8
方式二:=========================
8 小于等于 8
加入elif分支===================
两个数相等
case分支控制
1)基本语法
case $变量名 in
"值1")
如果变量的值等于值1,则执行程序1
;;
"值2")
如果变量的值等于值2,则执行程序2
;;
…省略其他分支…
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
注意事项:
(1)case行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。
(2)双分号“;;”表示命令序列结束,相当于java中的break。
(3)最后的“*)”表示默认模式,相当于java中的default。
小案列
脚本程序:
==================================================
#!/bin/bash
case $1 in
"wukong")
echo "曾经有一份真挚的爱情摆在我面前。。。。。。"
;;
"bajie")
echo "春光灿烂猪八戒。。。。。。。。"
;;
"wujin")
echo " 流沙河底白骨枯。。。。。。。"
;;
*)
echo "唐长老不懂爱。。。。。。。。"
;;
esac
=====================================================
[future@future ~]$ sh case.sh wukong
曾经有一份真挚的爱情摆在我面前。。。。。。
for循环
for (( 初始值;循环控制条件;变量变化 ))
do
程序
done
++++++++++++++++++++++++++++++++++++++++++++
for 变量 in 值1 值2 值3…
do
程序
done
小案列
脚本
==========================================================
#!/bin/bash
for((i=1;i<100;i++))
do
echo $i
done
=============================================================
[future@future ~]$ sh for.sh
1
2
3
。。。。。
forin循环输出
脚本
==========================================================
#!/bin/bash
echo "==============使用$ @ 获取值"
for item in $@
do
echo $item
done
echo "==================$ * ====="
for i in $*
do
echo $i
done
=======================================================
[future@future ~]$ sh forin.sh hello a hh dd f
==============使用$ @ 获取值
hello
a
hh
dd
f
==================$ * =====
hello
a
hh
dd
f
为$@ $* 加上引号出现如下
========================================
#!/bin/bash
echo "==============使用$ @ 获取值"
for item in "$@"
do
echo $item
done
echo "==================$ * ====="
for i in "$*"
do
echo $i
done
=======================================
[future@future ~]$ sh forin.sh a b c d
==============使用$ @ 获取值
a
b
c
d
==================$ * =====
a b c d
[future@future ~]$
while循环
while [ 条件判断式 ]
do
程序
done
小案列
脚本
======================================
#!/bin/bash
n=0
while [ $n -lt 10 ]
do
echo "$n"
n=$[$n+1]
done
======================================
[future@future ~]$ sh while.sh
0
1
2
3
。。。。。。