首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Linux shell脚本中提示输入Yes/No/Cancel?

在Linux shell脚本中提示用户输入Yes/No/Cancel,可以通过read命令结合case语句来实现。以下是一个简单的示例脚本:

代码语言:txt
复制
#!/bin/bash

echo "Please enter Yes/No/Cancel: "
read -r input

case $input in
    [Yy]* ) echo "You entered Yes";;
    [Nn]* ) echo "You entered No";;
    [Cc]* ) echo "You entered Cancel";;
    * ) echo "Invalid input. Please enter Yes, No, or Cancel.";;
esac

解释

  1. echo "Please enter Yes/No/Cancel: ": 这行代码用于提示用户输入。
  2. read -r input: 这行代码用于读取用户的输入,并将其存储在变量input中。-r选项用于防止反斜杠转义。
  3. case $input in: 这是case语句的开始,用于根据用户的输入执行不同的操作。
    • [Yy] ) echo "You entered Yes";;*: 如果用户输入以"Y"或"y"开头,脚本将输出"You entered Yes"。
    • [Nn] ) echo "You entered No";;*: 如果用户输入以"N"或"n"开头,脚本将输出"You entered No"。
    • [Cc] ) echo "You entered Cancel";;*: 如果用户输入以"C"或"c"开头,脚本将输出"You entered Cancel"。
    • *** ) echo "Invalid input. Please enter Yes, No, or Cancel.";;**: 如果用户输入不符合上述任何一种情况,脚本将输出"Invalid input. Please enter Yes, No, or Cancel."。

应用场景

这个脚本可以用于任何需要用户确认的场景,例如:

  • 安装软件前的确认。
  • 删除文件前的确认。
  • 执行重要操作前的确认。

参考链接

通过这种方式,你可以有效地在Linux shell脚本中提示用户输入Yes/No/Cancel,并根据用户的输入执行相应的操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在 Linux 运行一个 Shell 脚本

Linux 中有两种运行 shell 脚本的方法。你可以使用: bash script.sh 或者,你可以像这样执行 shell 脚本: ./script.sh 这可能很简单,但没太多解释。...在 Linux 运行一个 Shell 脚本 记住,将其作为参数传递的需要是一个 shell 脚本。一个 shell 脚本是由命令组成的。如果你使用一个普通的文本文件,它将会抱怨错误的命令。...你可以 使用 chmod 命令 来给予你自己脚本的这种权限,像这样: chmod u+x script.sh 使你的脚本是可执行之后,你只需输入文件的名称及其绝对路径或相对路径。.../script.sh 如果你与你的脚本不在同一个目录,你可以具体指定脚本的绝对路径或相对路径: 在其它的目录运行 Shell 脚本脚本前的这个 ./ 是非常重要的(当你与脚本在同一个目录)。...为什么当你在同一个目录下,却不能使用脚本名称?这是因为你的 Linux 系统会在 PATH 环境变量中指定的几个目录查找可执行的文件来运行。

3.5K20

Linux 系统与数据库安全

Linux 系统与数据库安全 目录 1. 帐号安全 1.1. Shell 安全 1.2. .history 文件 2. 临时文件安全 3. 其他安全问题 4. 防火墙配置 5....Shell 安全 需求:限制用户权限,仅提供一些linux常用命令,用户监控linux系统于网络运行情况,不允许用户ssh登录后随意运行linux命令 用户不能进入到Shell环境 例如普通用户一旦登录...web服务器可以看到web程序的数据库配置 用户可以了解OS工作状态内存,cpu,网络等等 例如:ping, tracepath, top, free, netstat 可以查看系统部分日志 例如:...mysql> 安全提示 从安全角度看,你可以去掉输入密码的过程。...在终端提示符下输入 Enter password: 还可以写入~/.my.conf文件 这样ssh mysql@example.com的时候输入第一道密码,然后进入mysql不需要输入密码 如果需要输入密码对话到建议删除

3.4K100
  • Linux 系统与数据库安全

    Linux 系统与数据库安全 目录 1. 帐号安全 1.1. Shell 安全 1.2. .history 文件 2. 临时文件安全 3. 其他安全问题 4. 防火墙配置 5....Shell 安全 需求:限制用户权限,仅提供一些linux常用命令,用户监控linux系统于网络运行情况,不允许用户ssh登录后随意运行linux命令 用户不能进入到Shell环境 例如普通用户一旦登录...web服务器可以看到web程序的数据库配置 用户可以了解OS工作状态内存,cpu,网络等等 例如:ping, tracepath, top, free, netstat 可以查看系统部分日志 例如:...mysql> 安全提示 从安全角度看,你可以去掉输入密码的过程。...在终端提示符下输入 Enter password: 还可以写入~/.my.conf文件 这样ssh mysql@example.com的时候输入第一道密码,然后进入mysql不需要输入密码 如果需要输入密码对话到建议删除

    3.4K50

    何在 Ubuntu 20.04 上安装 Anaconda

    [yes|no] 输入yes接受协议,并且你会被提示选择安装路径: Anaconda3 will now be installed into this location: /home/linuxize/...安装过程将会花费一些时间,并且一旦完成,脚本将会问你是否想要运行conda init。输入yes。 Installation finished....[yes|no] 这将会将命令行工具conda添加到系统的PATH环境变量。...想要激活 Anaconda,你可以关闭并且重新打开你的 shell 或者在当前 shell 会话输入下面的命令,来重新加载PATH环境变量: source ~/.bashrc 想要验证安装过程,在你的终端输入...打开你的终端,并且输入: conda update --all 如果有更新,conda将会显示一个列表,并且提示你确认是否更新: The following packages will be UPDATED

    57.3K92

    MySQL 数据库简单操作

    本文从描述了如何登录到mysql数据库服务器,如何在mysql提示符下发布命令,创建数据库,以及执行一些简单的DML操作。...提示符下直接输入mysql即可实现登录 mysql> #提示符告诉你mysql准备为你输入命令。...shell> mysql --输入分号表示结束命令输入并执行该命令 --成功地连接后,可以在mysql>提示输入QUIT (或\q ,exit)随时退出 mysql> QUIT Bye --在Unix...2、发布命令 mysql执行命令可分为非交互与交互模式 a) 非交互模式 非交互模式,也叫批模式,也就是将想要运行的命令放在一个文件,然后告诉mysql从文件读取它的输入。...通常用于返回数据量较大,以及批量管理,执行特殊脚本运行的情形。

    1.6K20

    2020-09_Shell 编程笔记

    第一章 Shell 脚本编程应用指南 1. 学习Shell编程需要掌握的基础。 vi/vim的熟练使用 Linux 常用命令的熟练使用 常见 Linux 网络服务部署排错 2....Shell 脚本概念原理介绍。 shell 是一个命令解释器。它在操作系统的外层,负责直接与用户的对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户。 3....Linux系统的默认脚本解释器? Centos linux 系统默认的 shell 是 bash。...来执行脚本的内容,在linux bash 编程中一般为: #!...当 n 为 0 时表示脚本的文件名,如果n 大于9,则 n获取当前执行的shell脚本的第n个参数值,n=1..9,当n为0时表示脚本的文件名,如果n大于9,则{10} $# 获取当前 shell 脚本命令行参数的总个数

    1.4K10

    shell脚本实例精讲_shell脚本编程实例

    shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。...:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。..."$num1,$num2,$num3" #num1 永远存最小的值,num2 永远存中间值,num3 永远存最大值 #如果输入的不是这样的顺序,则改变数的存储顺序,:可以将 num1 和 num2... 查找 Linux 系统的僵尸进程 提示用户输入年份后测试判断是否为闰年 生成随机密码(urandom 版本) 生成随机密码(字串截取版本) 显示本机 Linux...系统上所有开放的端口列表 将 Linux 系统 UID 大于等于 1000 的普通用户都删除 使用脚本开启关闭虚拟机 调整虚拟机内存参数的 shell 脚本 查看 KVM

    1.3K11

    何在ubuntu上定时抓取错误日志并发至管理员信箱

    应用运行,运行日志保存在/tmp/ypk.log文件,若出新错误,日志中会写入DataError: invalid input syntax for type date: "3年"……类似记录。...利用shell脚本可以进行系统管理,文件操作等。在Unix及所有的类Unix系统Linux、FreeBSD等操作系统,都存在shell脚本。...依照Unix shell的各种不同类型,shell脚本也有各种不同方言。在DOS、OS/2、Microsoft Windows的批处理文件,跟shell脚本有类似的功能。...脚本中用到的命令 grep, Linux系统grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。...sendemail, 邮件发送工具,可以看这篇文章如何在ubuntu上使用sendemail发送邮件。 comm, 逐行比较两个文件的内容。 脚本的程序流程 ? 程序流程 脚本 #!

    63530

    linux脚本使用scp自动传输,shell脚本实现scp文件传输

    大家好,又见面了,我是你们的朋友全栈君 scp是一个基于ssh的Linux环境下传输文件的好工具,但是使用shell脚本调用scp时会面临一个问题,即scp强制要求通过交互方式输入密码,而不像mysql...下面有两种方法帮助shell脚本跨过输入密码这个障碍。.../no” {send “yes\r”; exp_continue;}}expect eof 上面是一个独立的expect脚本文件,如果像把这段脚本嵌入其它shell脚本中就要用到expect -c #!.../no\” {send \”yes\r\”; exp_continue;} } expect eof”这段脚本的含义是监听scp命令,如果输入包含*assword,则输入密码“passwd”;如果输入包含...注:两个用户第一次scp连接时会提示“… Are you sure you want to continue connecting (yes/no)? …”,所以要考虑yes/no的情况。

    6K80

    终端terminal个性化配置

    http://blog.csdn.net/pipisorry/article/details/39584489 {本文介绍linux终端字体颜色设置、终端提示符显示内容设置、自定义alias命令} linux...“mybox”) \H 主机的全称( “mybox.mydomain.com”) \j 在此 shell通过按 ^Z挂起的进程数 \l 此 shell的终端设备名( “ttyp4″) \n 换行符...当前命令在历史缓冲区的位置 \# 命令编号(只要您键入内容,它就会在每次提示时累加) \ 如果您不是超级用户 (root),则插入一个 “”;如果您是超级用户,则显示一个 “#” \xxx 插入一个用三位数...[改变linux终端颜色][Ubuntu终端颜色设置、路径名设置以及ls命令设置][Linux 终端下颜色的输出] alias命令设置 可以通过在.bashrc文件设置alias以实现ls命令的一些自定义设置...的shell颜色技巧 [如何在 Linux 上录制你的终端操作] 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158348.html原文链接:https://javaforall.cn

    4.2K20

    何在 CentOS 8 上安装 MariaDB

    在这篇文章,我们将会讲解如何在 CentOS 8 上安装和保护 MariaDB 10.3。...二、保护 MariaDB MariaDB 服务器有一个脚本叫做mysql_secure_installation,它可以执行以下安全相关的操作,并且设置 root 用户密码: 运行下面的脚本: sudo...mysql_secure_installation 你将会被提示设置 MariaDB root 用户的密码。...一旦你完成操作,这个脚本将会要求你移除匿名用户,限制 root 用户访问本地机器,以及移除 test 测试数据库。对于所有的问题,你都应该回答”Y“(yes)。 就这些了。...三、连接到 MariaDB Shell 想要通过终端连接 MariaDB 服务器,请输入: mysql -u root -p 当提示时,输入 root 用户密码,MariaDB shell 窗口展示如下

    3.3K41

    expect java,Expect 使用详解「建议收藏」

    第1章 expect 概括 expect 期待 expect是Unix系统中用来进行自动化控制和测试的软件工具,由Don Libes制作,作为Tcl脚本语言的一个扩展,应用在交互式软件telnet...该工具利用Unix伪终端包装其子进程,允许任意程序通过终端接入进行自动化控制;也可利用Tk工具,将交互程序包装在X11的图形用户界面。 我们通过Shell可以实现简单的控制流功能,:循环、判断等。...shell脚本的变量需要对于expect的变量. 2.1 使用例子 2.2 首先安装expect [shell] Centos OS yum 安装 yum install -y expect Ubuntu...系统安装 apt-get install expect [/shell] 2.3 例子一:SSH 自动远程支持mkdir #提示写expect 需要两个脚本一个 .exp 和 .sh 如下: #创建一个...shell命令、其中date 是加的shell脚本的时间变量 expect { “yes/no” {send “yes\r”;exp_continue} #行交互动作,与手工输入密码的动作等效。

    2.9K40

    Shell 简明教程

    作为交互登录 Shell 启动,或者使用 —login 参数启动 交互 Shell 指的是用户在提示符下输入命令的 Shell,而不是执行脚本shell。...以交互式非登陆 shell 启动 比如在图形界面下开一个终端窗口,或者在登录 Shell 提示符下再输入 bash 命令,就得到一个交互非登录的 shell。.../bin/sh cd .. ls 将上面的代码保存在 .sh 文件,即为一个 Shell 脚本。 执行脚本只需要输入命令:./script.sh,这是 sh ./script.sh 命令的简写。...转义字符 — \ 和 C 语言一样,Shell 也需要转义字符, \ 、\$、\、`、\" 10....字符串 — ’、" 在 Shell 单引号的所有字符都被认为是普通的字符,所以不需要转义字符,运行: echo '$SHELL' 会显示 $SHELL

    2.1K40

    linuxshell编程(二)

    今天给大家继续来分析linux下的shell编程,在上一篇文章简单的介绍了shell编程到底是什么,以及它的一些基本使用规则。.../bin/bash string ="I love shell" echo $string 演示结果,你将会看到下面这样的错误提示,虽然最终可以打印出来我们想要的结果,但是我们作为程序员一枚,...二、shell调用linux命令: 有的时候,你不想输入太多的命令,可以在写一个shell脚本,把你要写的命令操作全部写进去,然后一键操作猛虎,哈哈,于是乎,这里就出现了在shell脚本中使用命令两种目的...: 1、直接执行: 这里我演示一下,我查看当前目录下有什么文件,我只要在shell脚本里面输入一个ls命令就行,具体看下面演示: #!...有时候我们在shell调用linux命令是为了得到这个命令的返回值(结果值),这时候就适合用一对反引号(键盘上ESC按键下面的那个按键,和~在一个按键上)来调用执行命令: #!

    1.4K20

    shell expect权威指南和实战

    一、概述 我们通过Shell可以实现简单的控制流功能,:循环、判断等。...new value, or press return for the default Login Shell [/bin/bash]: /bin/tcsh # 可以看到该命令首先输出若干行提示信息并且提示输入用户新的登录...我们必须在提示信息后面输入用户的登录shell或者直接回车不修改登录shell。 2、实现自动执行 #!...4、使用超时 下一个expect例子中将阐述具有超时功能的提示符函数。这个脚本提示用户输入,如果在给定的时间内没有输入,则会超时并返回一个默认的响应。.../usr/bin/expect] 这一行告诉操作系统脚本里的代码使用那一个shell来执行。这里的expect其实和linux下的bash、windows下的cmd是一类东西。

    1.9K21

    Linux环境配置问题小记

    一、背景 前段时间小编做了一个关于输入法按键响应时间的评测,但已有的评测脚本在windows环境下不兼容,于是小编就搭建一个linux环境,但是在配置测试环境上也遇到许多问题,在此和大家分享记录一下...系统初次安装后,无法使用root账户登录 解决办法: 使用以下命令添加root账户 1、创建:为root设置一个root密码:使用命令 sudo passwd root之后会提示输入...2、使用:使用命令su root,并按照提示输入root密码,就可以在终端中切换成超级管理员用户身份了!...解决办法: 修改/root/.bashrc文件,将其中的alias ll=’ls -alF’ 修改为alias ll=’ls -l’,重新打开窗口即可生效 6.Windows下编写的shell脚本linux...下无法执行 解决办法: 方法1:在windows下将shell脚本修改成linux格式文件 方法2:在linux系统下使用命令dos2unix + 文件即可修改格式 如果无该命令,则使用sudo

    1.5K10
    领券