命令是双向选择语句,当用户执行脚本时如果不满足if后的表达式也会执行else后的命令,所以有很好的交互性。其结构为:
if expression1
then
command
…
command
else
command
…
command
fi
++++++++++++++++++++++++++++++++++++++++++++++
vim ifelse_exam.sh
#ifelse_exam.sh
#!/bin/bashecho "Please input the file which you want to delete:"
read fileread -p "Please input the file which you want to delete:" fileif rm -f "$file"
thenecho "Delete the file $file sucessfully!"
elseecho "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" ]
thenecho "file $1 do not exist."exit 1
elseecho "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" ]thenecho "The file $1 is existence !"elseecho " The file $1 is not existence !"fi
elseecho "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 ]
thenecho "The score what you input is not integer or the score is not in (0-100)."
elseif [ "$score" -ge 90 ]thenecho "The grade is A!"elseif [ "$score" -ge 80 ]thenecho "The grade is B!"elseif [ "$score" -ge 70 ]thenecho "The grade is C!"elseif [ "$score" -ge 60 ]thenecho "The grade is D!"elseecho "The grade is E!"fifififi
fi
++++++++++++++++++++++++++++++++
# vim love.sh
#!/bin/bash
read -p "请输入你是否爱我,我爱你|我不爱你:" loveif [ 我爱你 == "$love" ]
thenecho "我也爱你!"
elseecho "我也不爱你!"
fi
# chmod +x love.sh
# ./love.sh