命令是双向选择语句,当用户执行脚本时如果不满足if后的表达式也会执行else后的命令,所以有很好的交互性。其结构为:
if expression1
then
command
…
command
else
command
…
command
fi
++++++++++++++++++++++++++++++++++++++++++++++
vim ifelse_exam.sh
#ifelse_exam.sh
#!/bin/bash
echo "Please input the file which you want to delete:"
read file
read -p "Please input the file which you want to delete:" file
if rm -f "$file"
then
echo "Delete the file $file sucessfully!"
else
echo "Delete the file $file failed!"
fi
++++++++++++++++++++++++++++++++++++++++++++++
vim ifelse_exam1.sh
# ifelse_exam1: input a file name and test the file exist or not.
#!/bin/bash
if [ ! -e "$1" ]
then
echo "file $1 do not exist."
exit 1
else
echo "file $1 exits."
fi
++++++++++++++++++++++++++++++++++++++++++++++
vim ifelse_exam2.sh
#ifelse_exam2.sh
#!/bin/bash
if [ "$1" ]
then
echo "What you input is not null!"
if [ -e "$1" ]
then
echo "The file $1 is existence !"
else
echo " The file $1 is not existence !"
fi
else
echo "what you input is null!"
fi
++++++++++++++++++++++++++++++++++++++++++++++
vim ifelse_exam3.sh
#!/bin/bash
# script to determine a letter grade from a test score
#提示用户输入分数(0~100)
echo "Please Input a integer(0-100): "
read score
#判断学生的分数类别
if [ "$score" -lt 0 -o "$score" -gt 100 ]
then
echo "The score what you input is not integer or the score is not in (0-100)."
else
if [ "$score" -ge 90 ]
then
echo "The grade is A!"
else
if [ "$score" -ge 80 ]
then
echo "The grade is B!"
else
if [ "$score" -ge 70 ]
then
echo "The grade is C!"
else
if [ "$score" -ge 60 ]
then
echo "The grade is D!"
else
echo "The grade is E!"
fi
fi
fi
fi
fi
++++++++++++++++++++++++++++++++
# vim love.sh
#!/bin/bash
read -p "请输入你是否爱我,我爱你|我不爱你:" love
if [ 我爱你 == "$love" ]
then
echo "我也爱你!"
else
echo "我也不爱你!"
fi
# chmod +x love.sh
# ./love.sh