linux 命令 跳过yes,Linux命令之yes

在删除文件或进行一些乱七八糟的危险操作时总需要用户手动输入一个"y"来确定一下,但是如果数量很多的话手动输入就是个灾难啊,yes最初就是为了解决这个问题产生的,比如这种形式:yes | rm a*

当然我们可以指定-f静默选项不进行确认询问,呃,就当我举了个不太恰当的例子吧,毕竟我删除文件从来都是-f选项,而借助yes的话太麻烦了。

不过它的另一个用法可能大多数人都不知道,就是可以指定一行字符串然后不断将这行字符串送到标准输出,实际上yes本来的作用就是接收一行字符串然后不断将它输出,如果未指定的话默认就是y,这个是写在手册里的:Repeatedly output a line with all specified STRING(s), or 'y'.

所以没事啃下手册还是有些用处的,这个特性可以将yes当做“crazy-repeat”使用(我瞎取的名字,不过还挺形象的),即将一行字符串不断的重复输出到标准输出:yes "foobar"

在某些情况下可以用来模拟数据产生的过程,比如模拟日志疯狂产生的过程:yes "[2018-08-08 18:30:17] Thread-10 : foo bar"

总结:

1. yes用来将指定字符串不断送到标准输出,如果未指定字符串的话默认就是y,如果进程不被杀掉会一直发送直到天荒地老。

2. 在某些情况下可以用来模拟不断产生的数据,优点是实现简单,缺点是每行数据都是一样的不会变,不如写个脚本模拟。

最后附上文档man yes:YES(1) User Commands YES(1)

NAME

yes - output a string repeatedly until killed

SYNOPSIS

yes [STRING]...

yes OPTION

DESCRIPTION

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: Report yes translation bugs to

AUTHOR

Written by David MacKenzie.

COPYRIGHT

Copyright © 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later .

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The full documentation for yes is maintained as a Texinfo manual. If the info and yes programs are properly installed at your site, the

command

info coreutils 'yes invocation'

should give you access to the complete manual.

GNU coreutils 8.22 April 2018 YES(1)

.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值