例2、比较传入的两个参数的大小
1)编辑脚本:vim if02.sh
#!/bin/bash
if [ $# -lt 2 -o $# -gt 2 ]; then
echo “Two numbers are required.”
exit 1
fi
if [ $1 -gt $2 ]; then
echo “$1 > $2”
else
echo “$1 <= $2”
fi
2)设置权限:chmod u+x if02.sh
3)执行脚本
例3、嵌套实现多分支结构
1)编辑脚本:vim if03.sh
#!/bin/bash
if [ $# -gt 2 -o $# -lt 2 ]; then
echo “Two numbers are required.”
exit 1
fi
if [ $1 -gt $2 ]; then
echo “$1 > $2”
else
if [ $1 -eq $2 ]; then
echo “$1 = $2”
else
echo “$1 < $2”
fi
fi
2)设置权限:chmod u+x if03.sh
3)执行脚本:./if03.sh 100 200
思考题:变成实现如下功能。
如果/tmp/part1/bash下面存在if3.sh就打印if3.sh存在;如果不存在,就“创建”(注意目录是否存在以及不存在时的创建问题)。
1)编辑脚本:vim if04.sh
#!/bin/bash
path="/tmp/part1/bash"
if [ ! -e $path ]; then
mkdir -p
p
a
t
h
e
c
h
o
"
path echo "
pathecho"path is created."
else
echo “$path has exists.”
fi
filename="${path}/if3.sh"
if [ -e
f
i
l
e
n
a
m
e
]
;
t
h
e
n
e
c
h
o
"
filename ]; then echo "
filename];thenecho"filename exists."
else
touch
f
i
l
e
n
a
m
e
e
c
h
o
"
filename echo "
filenameecho"filename is touched."
fi
2)设置权限:chmod u+x if04.sh
3)执行脚本:./if04.sh
(3)case多分支结构
判断用户输入的是哪个数,1-7显示输入的数字,大于7或小于0显示please input 1-7,输出英文的星期几。
方法一:
1)编辑脚本:vim case01.sh
#!/bin/bash
read -p "input an integer [1-7]: " n
if [ $n -lt 1 -o $n -gt 7 ]; then
echo “You must input an integer between 1 and 7.”
exit 1
else
case $n in 1)
echo “Monday”
;;
2)
echo “Tuesday”
;;
3)
echo “Wednesday”
;;
4)
echo “Thursday”
;;
5)
echo “Friday”
;;
6)
echo “Saturday”
;;
7)
echo “Sunday”
;;
esac
fi
2)设置权限:chmod u+x case01.sh
3)执行脚本:./case01.sh
方法二:
1)编辑脚本:vim case02.sh
#!/bin/bash
read -p "input an integer [1-7]: " n
case $n in
1)
echo “Monday”
;;
2)
echo “Tuesday”
;;
3)
echo “Wednesday”
;;
4)
echo “Thursday”
;;
5)
echo “Friday”
;;
[6-7])
echo “Weekend”
;;
*)
echo “You must input an integer between 1 and 7.”
esac
2)设置权限:chmod u+x case02.sh
3)执行脚本:./case02.sh