yes

正午 2022-01-02 PM 53℃ 0条

在终端输入 yes 回车会看到连续字母 y 输出。yes [str] 能连续输出任意字符。很奇怪这个命令干什么用,最早 Ken Thompson 在 unix 里实现,只有几行代码

main(argc, argv)
  char **argv;
  {
      for (;;)
    printf("%s\n", argc>1? argv[1]: "y");
  }

Gnu coreutils 的的实现就显得复杂了好多倍,主要目的是做了一个缓存,提前把多个需要输出的字符放到缓存里,一次性把整个缓存写到终端。这大概是奇怪的优化,GNU 的代码里很多这种有点儿"画蛇填足"的存在。这里有讨论 gnu 的实现问题

yes 通常有何用? 执行 shell 的时候需要用户输入 y 那确认的时候就可以这样写:
yes | apt install xxx

标签: none

非特殊说明,本博所有文章均为博主原创。

上一篇 LightGBM 特征分箱
下一篇 没有了

评论