推荐的约定/编码风格

时间:2018-02-15 11:37:30

标签: bash ksh

我正在重构一些unix shell脚本 并在我们的代码中找到许多不一致和不同的样式

例如:

somevar="${item1},${item2}"
somevar=${item1}","${item2}
somevar="$item1,$item2"

unix shell脚本是否有编码样式指南?或者像C ++的clang格式的格式化程序

[编辑] 请注意我不是要求个人风格偏好或个人意见!我正在寻找行业标准文档,广泛使用的样式指南或流行的工具。

2 个答案:

答案 0 :(得分:2)

我曾在一些拥有自己风格指南的公司工作,但大多数公司现在都使用Google的风格指南。如果您没有家庭成长的风格指南,那么谷歌就是好的,并在此发布:https://google.github.io/styleguide/shell.xml

我亲自使用vim的shellcheck插件检查我的shell脚本,但它可以在网上和其他编辑器上找到。您可以使用它并在此处获取下载:https://www.shellcheck.net/

答案 1 :(得分:2)

由于word splitting不会在变量赋值的上下文中发生,您可以使用:

somevar=${item1},${item2}

我个人更喜欢使用

somevar="${item1},${item2}"

报价并没有受到伤害,而且 - imo - 增加了可读性。

关于${var}$var的关系。当变量名称可能包含下划线时,这很重要,例如"$foo_bar"。这是什么意思?变量$foo加上文字字符串_bar?或者变量$foo_bar的扩展?因此,我会使用${var}来避免这种情况。