yes
在unix / linux中有一个命令,基本上可以无限地打印y
到stdout
。它的目的是什么,它有什么用?
yes
在unix / linux中有一个命令,基本上可以无限地打印y
到stdout
。它的目的是什么,它有什么用?
Answers:
yes可以用于对任何原本要求一个命令的命令发送肯定(或否定;例如yes)响应,从而使该命令以非交互方式运行。
yes命令和head命令一起可用于生成大容量文件以进行测试。
它还可以用于测试系统处理高负载的能力,因为对于单个处理器的系统,使用yes会导致100%的处理器使用率(对于多处理器系统,必须为每个处理器运行一个进程)。例如,这对于调查当处理器以100%运行时系统的冷却系统是否有效将很有用。
在2006年,yes命令得到宣传,因为它可以测试用户的MacBook是否受到间歇性关机综合征的影响。通过在Mac OS X下通过终端运行两次yes命令,用户可以最大化其计算机的CPU,从而查看故障是否与热量有关
通过维基百科:http : //en.wikipedia.org/wiki/是(Unix)
yes `yes yes`
这可能是一个有争议的观点,但是在我看来,这是对命令行工具中错误的用户界面的丑陋修复。
一些命令行工具会提示用户询问问题,并且没有非交互式运行的选项。想像例如
$ frobnicate *
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
...
由于问题的答案来自标准输入,因此快速解决此问题的方法是使应用程序y\n
连续输出字符串,这正是这样yes
做的结果。Unix 管道可用于将此输出作为输入发送到给定命令。
$ yes | frobnicate
这种方法的问题之一是yes
无法检查它正在回答的问题:
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
format device /dev/sda1? (y/n) y
frobnicate file c.txt? (y/n) y
更好的解决方案(如果可用)是一种非交互运行的特定选项,例如rm -f
或apt-get -y
。这允许在应用程序中编码更明智的行为。
同事以新颖的方式使用它输入密码
yes password | passwd
passwd
如果用户不是root用户或超级用户,将首先询问旧密码,并且除非输入正确的密码,否则它将不会继续。因此,无论用户是root用户还是password
旧密码,都不会更改。
ps
或top
在适当的时候)。