Chinaunix首页 | 论坛 | 博客
  • 博客访问: 21262
  • 博文数量: 4
  • 博客积分: 36
  • 博客等级: 民兵
  • 技术积分: 30
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-31 09:52
文章分类
文章存档

2012年(4)

我的朋友

分类:

2012-12-27 10:05:33

linux的真可谓是不少, 我wc -l /bin/*统计了一下单单在/bin/下就112个. 之前看过有人一天学习一个命令的系列文章. 根据自己的学习linux命令的经验,发现有些命令单单看man 手册确实是无法完全了解命令设计者的意图,比如本文要讲的 yes命令.
最开始知道有yes命令的时候看man 手册内容如下:
yes - output a string repeatedly until killed
翻译过来是:重复输出一个字符串直到被killed.
天资不怎样的我, 实在想不出有什么用途. 直到昨天看了一篇blog之后我才了解,原来yes命令是为解决这样的一个问题设计:

相信大家应该都用过windows安装软件的时候有这样的体验: 下一步,下一步,....,
类似:
for el in `seq 1 10`;do read -p 'continue?[y/n]';echo ${el}; done
要输入10次y,对于追求效率的人来说,这个真的有点不能忍受.
这时候 yes命令就能够帮忙
yes | for el in `seq 1 10`;do read -p 'continue?[y/n]';echo ${el}; done
每次遇到交互的地方, yes 都 output y自动进行到下一步.这样效率自然就高了.

通过这样的一个简单例子就简单理解了工具设计者的意图, 所以学习linux 命令还是结合相关的情景,或者了解命令设计者期望解决的问题, 就能够很好理解其用途.
阅读(1192) | 评论(0) | 转发(0) |
0

上一篇:awk之NR & FNR

下一篇:没有了

给主人留下些什么吧!~~