这里面用到了一个read命令、两个整数比较运算符-ge、-le以及if条件测试语句。
脚本原文:
[root@linuxprobe ~]# vim chkscore.sh #!/bin/bash read -p "Enter your score(0-100):" GRADE if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ] ; then echo "$GRADE is Excellent" elif [ $GRADE -ge 70 ] && [ $GRADE -le 84 ] ; then echo "$GRADE is Pass" else echo "$GRADE is Fail" fi [root@linuxprobe ~]# bash chkscore.sh Enter your score(0-100):88 88 is Excellent [root@linuxprobe ~]# bash chkscore.sh Enter your score(0-100):80 80 is Pass
此脚本的作用:
只有当用户输入的分数大于等于85分且小于等于100分时,才输出Excellent字样;若分数不满足该条件(即匹配不成功),则继续判断分数是否大于等于70分且小于等于84分,如果是,则输出Pass字样;若两次都落空(即两次的匹配操作都失败了),则输出Fail字样。
read命令作用:读取单行数据
read命令背景:
Linux read命令用于从标准输入读取数值。read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。
语法格式:read [参数]
read命令示例:
1、简单读取:
#!/bin/bash echo "输入网站名: " read file echo "你输入的网站名是 $file" exit 0
2、允许在 read 命令行中直接指定一个提示:(-p参数)
#!/bin/bash read -p "输入网站名:" file echo "你输入的网站名是 $file" exit 0
【鸣谢】linuxprobe网站;Linuxcool网站