为什么我应该避免 shell 中的循环?

Ste*_*nny 3 shell bash

以下链接建议不要在 shell 中使用循环。

for循环范围内的bash变量

为什么是这样?这是我在遇到该答案时碰巧正在查看的示例循环:

find /etc/postinstall -name '*.sh' | while read script
do
  echo Running $script ...
  $script
  mv $script $script.done
done
Run Code Online (Sandbox Code Playgroud)

Jan*_*nis 5

我想到了两种应用程序类型,其中 shell 循环不被认为是最好的方法。首先是数据处理;许多工具(如sedawkperl等)都隐式地执行循环并且性能更高。第二个是(就像在您的示例代码中一样),其中一些代码是为一组文件执行的,其中find使用-execswitch 也可以已经执行命令(也是一个 shell),而问题和开销更少。可能还有更多案例,但提到的那两个应该已经很有启发性了。那说; shell 循环本质上并不坏,或者诸如此类。只需考虑其他选项(如上述两个选项)。


归档时间:

查看次数:

1575 次

最近记录:

11 年,1 月 前