19

我正在尝试学习一些 Bash,以便有一天能找到一份使用计算机的工作。

为了提高我的清晰度和门徒编写我的自学代码,我试图坚持一套一致的“指导原则”。

当我推出自己的“指南”时,我显然会问自己:我不应该使用既定标准吗?

我找不到一个这样的 Bash“权威”参考,类似于这些其他语言的参考:

是否有与 Bash 的类似文档的链接,它有充分的理由被使用?

这是我自己整理的那种东西……但我认为,尤其是作为初学者,我应该使用专家编写的指南,而不是试图提出自己的指南,因为它们不会基于丰富的经验、洞察力、实用性、常见模式/反模式知识等。

一般而言,您可能会质疑此类文件的有效性,但有些人必须喜欢它们才能让网络在网上有我在上面的项目符号列表中提到的那些突出的例子。


################################################################################    
# Coding conventions                                                                
#                                                                                   
# - Prefer lines of 80 characters of length or less                                 
#                                                                                   
# - Perform arithmetic operations and numeric comparisons within "(( ))" blocks     
#   e.g. if ((42<=24+24)), ((3**3==27))                                             
#                                                                                   
# - Reference variables by name, not expansion, within arithmetic evaluation        
#   e.g. ((i++)) rather than (($i++)), ((v+=42)) rathern than v=$(($v+42))          
#                                                                                   
# - Prefer "[[" to "[" for conditional expressions                                  
#                                                                                   
# - Prefer "[[ $s ]]" to "[[ -n $s ]]" when checking for empty strings              
#                                                                                   
# - Document each function with at least a summary sentence. This should not        
#   exceed the preferred line length, be written in third person, end with a        
#   period and concisely describe the general utility of the function   
#
# ...
# ...
# ...
#            
################################################################################    

4

2 回答 2

14

像往常一样,谷歌是你的朋友。我遇到的最好的 bash 风格指南来自 Google

Chromium 项目还有一些额外的建议。

对于学习 bash,Apple Developer Shell Scripting 入门非常好。

使用 bash 的风格指南是相当明智的,因为它充满了技巧和意想不到且难以诊断的怪癖。因此,如果您一直遵循相同的风格,那么您应该只为这些技巧中的每一个上当一次。

于 2014-06-26T04:00:51.523 回答
10

我的 shell 脚本标准

  1. 更喜欢可移植性,但不要为此牺牲安全性和空白意识。
  2. 首选内置命令而不是外部命令。
  3. 但是,使用快速的外部命令来处理非常大的输入。
  4. 避免不必要的子外壳和管道。
  5. 不要预先优化。
  6. 学习引用规则。然后,使用引号。
  7. 使用函数来提高可读性和控制范围。
  8. 不要给脚本愚蠢的文件扩展名。
  9. 切勿在未检查其是否有效的情况下更改目录。
  10. 避开大地精

愚蠢的一致性是小头脑的妖精,受到小政治家、哲学家和神学家的崇拜。

——拉尔夫·沃尔多·爱默生

何时忽略可移植性规则

  1. -execdir适当时与 一起使用find
  2. null当工具集允许避免在空格上意外分词时,请使用分隔符。
  3. 了解所有 glob 扩展并使用它们。
  4. 如果您的目标系统都具有 BASH,请不要向后弯腰成为 POSIXLY_STRICT。
  5. 在这里使用字符串。
于 2013-03-26T03:43:01.663 回答