相关疑难解决方法(0)

为什么循环查找的输出是不好的做法?

这个问题的灵感来自

为什么使用 shell 循环处理文本被认为是不好的做法?

我看到这些结构

for file in `find . -type f -name ...`; do smth with ${file}; done
Run Code Online (Sandbox Code Playgroud)

for dir in $(find . -type d -name ...); do smth with ${dir}; done
Run Code Online (Sandbox Code Playgroud)

几乎每天都在这里使用,即使有些人花时间对这些帖子发表评论,解释为什么应该避免这种东西......
看到此类帖子的数量(以及有时这些评论被简单地忽略的事实)我想我还不如问一个问题:

为什么循环find的输出是不好的做法,为 返回的每个文件名/路径运行一个或多个命令的正确方法是find什么?

find filenames files for

193
推荐指数
4
解决办法
3万
查看次数

zsh 和 mksh 在哪里与 bash 不兼容?

其他 POSIX 兼容的 shell 在多大程度上可以作为 bash 的合理替代品?它们不需要是真正的“插入式”替换,但足够接近以使用大多数脚本并通过一些修改支持其余脚本。

  1. 我想要显式的 bash 脚本 - initscripts、DHCP 客户端脚本等 - 以最少的修改工作

  2. 我希望我自己收集的更专业的 shell 脚本不需要太多修改

  3. 我想拥有字符串操作和内置正则表达式模式匹配等功能

我所知道的唯一认真的竞争者是 zsh 和 mksh。所以,对于在座的那些对他们中的一个或两个都很好的人:

  1. bash 有哪些 zsh 和 mksh 分别没有的特性?

  2. shell 与 bash 共享哪些功能,但使用不兼容的语法?

bash zsh mksh

13
推荐指数
1
解决办法
5894
查看次数

标签 统计

bash ×1

filenames ×1

files ×1

find ×1

for ×1

mksh ×1

zsh ×1