文章目录
- yes命令功能
- doc文档
- 英文
- 中文翻译
- 完整文档
- 示例
- 应用案例
- 自动为脚本多次确认y
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 exitGNU 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
可以看到,我的脚本完全不用确认,就咔咔一直往下走,直到结束了: