我的公司开始增加我们的Linux支持,我们的一些shell脚本开始变得更加复杂.今天我们用shebang作为
#! /bin/sh
但是我们遇到像Ubuntu这样的发行版的问题,例如sh指向破折号和一些更具异国情调的发行版.
我的问题是,例如,将shebang改为bash的风险是什么?
也许更好的问题是,如果这些天可以有一个没有bash的发行版?
解决方法:
更好地改变它,如果你依赖于bash特定的语法,那么你的shell脚本需要声明它需要bash而不是通用shell.
#! /usr/bin/env bash
通常比较喜欢
#! /bin/bash
因为它允许系统以非标准方式/位置安装bash
在回答你的第二个问题:“这些天有没有bash的发行版”.嗯,当然这是可能的,但这是非常不可能的.从维护者的bash的website – bash 4.x是GNU / Linux和Mac OSX的标准配置,在Windows上,Cygwin和MinGW都带有bash 3.x.有BSD的端口,Solaris自8以来就有bash版本,其中10个用bash 4.x发送.
这似乎表明,如果没有bash,找到一个GNU / Linux操作系统是非常不幸的.