许多命令行实用程序可以从管道或文件名参数中获取输入。对于长Shell脚本,我发现以a开头的链cat
使其更具可读性,尤其是在第一个命令需要多行参数的情况下。
相比
sed s/bla/blaha/ data \
| grep blah \
| grep -n babla
和
cat data \
| sed s/bla/blaha/ \
| grep blah \
| grep -n babla
后一种方法效率较低吗?如果是这样,差异是否足以关心脚本是否运行(例如每秒运行一次)?可读性差异不大。
cat
。但是,我认为这里更大的问题是代码的可读性,这通常是性能的优先考虑。当更快的实际可写入的漂亮,为什么不呢?指出问题cat
通常会使用户对管道和流程有更好的了解。值得付出努力,因此他们下次可以编写易于理解的代码。
cat
; Caleb关于使用函数和重定向的观点也可以解决该问题。)