前几天我回答了一个问题,有必要循环遍历给定目录中的所有子词典。
作为一名自学成才的bash用户,我很快回答了这个问题。但是,在我的回答中,我使用for DIR in $(find ...); do "something"; done
来遍历子目录。礼貌的狂欢大师指出,如果我继续这样的坏习惯,总有一天会发现自己遇到很多麻烦。
在纠正我的回答的同时,我发现我(令人尴尬)有更多不良习惯。我在stackoverflow上找不到这样的任何主题,但我确信有很多人喜欢我在#34;初学者(++)"基于"工作类型"。
的方法来处理坏习惯我的问题是通用的,虽然很简单:
对于使用bash的人来说,要避免哪些重要/有害的陷阱? (如果您发现问题通用回答我会很感激,对案例的简短描述以及文档的链接或其他有关该主题的SO问题表示赞赏。)
E.g。在执行循环编辑文件/目录时,使用globb字符,管道,逻辑,短手记法(即``
)和最后但并非最不重要应用函数以达到不应使用的目的
答案 0 :(得分:0)
我发现Google's Styleguide很有启发性。我在阅读之后改变了一些旧习惯,并且有很多例子。
编辑:下面要注意一些要点。
#!/bin/bash
开始(第一行)您的脚本
它将在可用时检查并使用bash,并在缺失时给出错误。-e 's/.../.../g'
问题:E.g. When performing loops to edit files/dirs, using globb characters, pipes, logicals, short hand notation (i.e. ``) and last but not least applying functions for purposes which they should not be used.
. common.h
function xxx {..}
和xxx() {..}