1. 背景¶
1.1. 使用哪一种Shell¶
小技巧
Bash是唯一被允许执行的shell脚本语言。
可执行文件必须以 #!/bin/bash
和最小数量的标志开始。请使用 set
来设置shell的选项,使得用 bash <script_name>
调用你的脚本时不会破坏其功能。
限制所有的可执行shell脚本为bash使得我们安装在所有计算机中的shell语言保持一致性。
无论你是为什么而编码,对此唯一例外的是当你被迫时可以不这么做的。其中一个例子是Solaris SVR4包,编写任何脚本都需要用纯Bourne shell。
1.2. 什么时候使用Shell¶
小技巧
Shell应该仅仅被用于小功能或者简单的包装脚本。
尽管Shell脚本不是一种开发语言,但在整个谷歌它被用于编写多种实用工具的脚本。这个风格指南更多的是认同它的使用,而不是一个建议,即它可被用于广泛部署。
以下是一些准则:
如果你主要是在调用其他的工具并且做一些相对很小数据量的操作,那么使用shell来完成任务是一种可接受的选择。
如果你在乎性能,那么请选择其他工具,而不是使用shell。
如果你发现你需要使用数据而不是变量赋值(如
${PHPESTATUS}
),那么你应该使用Python脚本。如果你将要编写的脚本会超过100行,那么你可能应该使用Python来编写,而不是Shell。请记住,当脚本行数增加,尽早使用另外一种语言重写你的脚本,以避免之后花更多的时间来重写。