Linux脚本练习之script023-提示用户输入 `yes` 或 `no`,并判断用户输入的是`yes` 还是 `no`,或是其它信息。

Posted 二木成林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux脚本练习之script023-提示用户输入 `yes` 或 `no`,并判断用户输入的是`yes` 还是 `no`,或是其它信息。相关的知识,希望对你有一定的参考价值。

script023

题目

编写脚本 /root/bin/yesorno.sh,提示用户输入 yesno,并判断用户输入的是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脚本练习之script037-打印无密码用户。

Linux脚本练习之script038-统计一共有多少个普通用户。

Linux脚本练习之script014-判断参数文件是否为 `.sh` 后缀的普通文件,如果是,则添加所有人可执行权限,否则提示非脚本文件。