zh-google-styleguide/google-shell-styleguide/background.rst
2016-03-19 19:44:56 +08:00

1.6 KiB
Raw Permalink Blame History

背景

使用哪一种Shell

Tip

Bash是唯一被允许执行的shell脚本语言。

可执行文件必须以 #!/bin/bash 和最小数量的标志开始。请使用 set 来设置shell的选项使得用 bash <script_name> 调用你的脚本时不会破坏其功能。

限制所有的可执行shell脚本为bash使得我们安装在所有计算机中的shell语言保持一致性。

无论你是为什么而编码对此唯一例外的是当你被迫时可以不这么做的。其中一个例子是Solaris SVR4包编写任何脚本都需要用纯Bourne shell。

什么时候使用Shell

Tip

Shell应该仅仅被用于小功能或者简单的包装脚本。

尽管Shell脚本不是一种开发语言但在整个谷歌它被用于编写多种实用工具的脚本。这个风格指南更多的是认同它的使用而不是一个建议即它可被用于广泛部署。

以下是一些准则:

  • 如果你主要是在调用其他的工具并且做一些相对很小数据量的操作那么使用shell来完成任务是一种可接受的选择。
  • 如果你在乎性能那么请选择其他工具而不是使用shell。
  • 如果你发现你需要使用数据而不是变量赋值(如 ${PHPESTATUS} 那么你应该使用Python脚本。
  • 如果你将要编写的脚本会超过100行那么你可能应该使用Python来编写而不是Shell。请记住当脚本行数增加尽早使用另外一种语言重写你的脚本以避免之后花更多的时间来重写。