Linux shell yes命令(不停输出换行的y)(不停输出换行的指定字符串)(脚本自动确认y)

本文介绍了yes命令的功能,如何使用它自动化脚本中的用户确认过程,以及提供yes命令的用法、选项和示例应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

yes命令功能

yes命令可以不断地输出换行的指定字符串,不加参数时,不断输出换行的“y”,有时我们需要执行一些需要用户键入“y”确认的脚本,但是我们希望执行时能自动确认,这时yes命令就能帮上我们的忙。

doc文档

yes --help

英文

Usage: yes [STRING]...
  or:  yes OPTION
Repeatedly output a line with all specified STRING(s), or 'y'.

      --help     display this help and exit
      --version  output version information and exit

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Full documentation at: <https://www.gnu.org/software/coreutils/yes>
or available locally via: info '(coreutils) yes invocation'

中文翻译

用法:yes [字符串]...
  或者:yes 选项
不断重复输出一行,包含所有指定的字符串,或者输出 'y'--help     显示此帮助信息并退出
      --version  输出版本信息并退出

GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
完整文档请参考:<https://www.gnu.org/software/coreutils/yes>
或者在本地通过 info '(coreutils) yes invocation' 查看。
完整文档

https://www.gnu.org/software/coreutils/yes

在这里插入图片描述

15.3 yes: Print a string until interrupted
yes prints the command line arguments, separated by spaces and followed by a newline, forever until it is killed. If no arguments are given, it prints ‘y’ followed by a newline forever until killed.
Upon a write error, yes exits with status ‘1’.
The only options are a lone --help or --version. To output an argument that begins with ‘-’, precede it with --, e.g., ‘yes – --help’. See Common options.

yes:打印字符串直到被中断
yes 打印命令行参数,用空格分隔,并在末尾加上换行符,一直打印直到被终止。如果没有给出参数,则一直打印 ‘y’,并在末尾加上换行符,直到被终止。
在写入错误时,yes 以状态码 ‘1’ 退出。
唯一的选项是单独的 --help 或 --version。要输出以 ‘-’ 开头的参数,请在其前面加上 --,例如,‘yes – --help’。请参阅常见选项。

示例

执行yes "y"后,打印出了一连串不断换行的”y“:

在这里插入图片描述

执行yes "hello",打印出了一连串的换行“hello”:

在这里插入图片描述

以空格分隔,不断重复打印任意组合的换行字符串,如:yes hello world !

在这里插入图片描述

应用案例

自动为脚本多次确认y

比如我有一个脚本,执行时可能会让用户确认“y”,代码片段和展示效果如下:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

用户可能需要多次键入“y”,才能执行完脚本,如果用户一个字母也不想敲,可以这样:

yes | ./your_script.sh

或者:

yes "y" | ./your_script.sh

(或者yes y | ./your_script.sh,注意:单个参数时参数加不加引号都一样,但是如果脚本有时解析多个参数,脚本逻辑不同可能导致最终结果不同)

这将生成连续的y输入,并将其作为输入传递给脚本。

我执行:

yes | ./install_arm_ubuntu.sh

可以看到,我的脚本完全不用确认,就咔咔一直往下走,直到结束了:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dontla

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值