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 命令还是结合相关的情景,或者了解命令设计者期望解决的问题, 就能够很好理解其用途.
阅读(2101) | 评论(1) | 转发(1) |