Linux脚本练习之script023-提示用户输入 `yes` 或 `no`,并判断用户输入的是`yes` 还是 `no`,或是其它信息。
Posted 二木成林
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux脚本练习之script023-提示用户输入 `yes` 或 `no`,并判断用户输入的是`yes` 还是 `no`,或是其它信息。相关的知识,希望对你有一定的参考价值。
script023
题目
编写脚本 /root/bin/yesorno.sh
,提示用户输入 yes
或 no
,并判断用户输入的是yes
还是 no
,或是其它信息。
分析
本题考查的知识点:
read
命令echo
命令tr
命令case...in
多条件分支条件语句if...elif...else
多条件分支语句
思路:
- 使用
read
命令读取用户从键盘输入的信息。 - 这里使用了
tr
命令将大写字母转换成小写字母,避免添加更多条件分支判断。 - 然后使用
case...in
语句或if...elif...else
条件语句判断输入的信息等于"yes"
或者"no"
或者其他信息,然后给出对应的提示。
脚本一
#!/bin/bash
####################################
#
# 功能:提示用户输入 yes 或 no,并判断用户输入的是yes 还是 no,或是其它信息。
#
# 使用:没有任何参数,直接调用
#
####################################
# 通过 read 命令提示用户输入
read -p "请输入 yes 或者 no:" input
# 为了避免大小写的问题,将其全部转换成小写处理
input=$(echo "$input" | tr "[A-Z]" "[a-z]")
# 判断用户输入的信息,并给出对应的提示
case "$input" in
"yes")
echo "你输入的信息是:yes!"
;;
"no")
echo "你输入的信息是:no!"
;;
*)
echo "你输入的信息既不是 yes 也不是 no,而是:$input。"
;;
esac
脚本二
#!/bin/bash
####################################
#
# 功能:提示用户输入 yes 或 no,并判断用户输入的是yes 还是 no,或是其它信息。
#
# 使用:没有任何参数,直接调用
#
####################################
# 通过 read 命令提示用户输入
read -p "请输入 yes 或者 no:" input
# 为了避免大小写的问题,将其全部转换成小写处理
input=$(echo "$input" | tr "[A-Z]" "[a-z]")
# 判断用户输入的信息,并给出对应的提示
if [ "$input" = "yes" ]; then
echo "你输入的信息是:yes!"
elif [ "$input" = "no" ]; then
echo "你输入的信息是:no!"
else
echo "你输入的信息既不是 yes 也不是 no,而是:$input。"
fi
测试
执行 ./script023.sh
调用脚本,然后输入信息将给出对应的提示。
以上是关于Linux脚本练习之script023-提示用户输入 `yes` 或 `no`,并判断用户输入的是`yes` 还是 `no`,或是其它信息。的主要内容,如果未能解决你的问题,请参考以下文章
Linux脚本练习之script017-接受一个主机的 IPv4 地址作为参数,测试是否可连通。如果能够 ping 通,则提示用户“该 IP 地址可访问”。
Linux脚本练习之script032-任意用户登录系统时,显示红色字体的警示提醒信息 `Hi, dangerous!`。
Linux脚本练习之script025-判断用户输入的参数是否为正整数。
Linux脚本练习之script038-统计一共有多少个普通用户。
Linux脚本练习之script014-判断参数文件是否为 `.sh` 后缀的普通文件,如果是,则添加所有人可执行权限,否则提示非脚本文件。