今天在Ubuntu下调试代码,明明是正确的,却仍然报错,查了错误信息才知道:Ubuntu中默认不是bash,而是为了加快开机速度,使用了dash. dash中需要严格的语法,而且与bash语法不同.例如,bash中定义函数是使用function关键字的(function foo() {}),但在dash中没有该关键字,直接使用foo(){}定义.我的错误就是这样因为有了function而没有通过. 注意:在sh文件首行定义的“#!/bin/bash”,指的是在(文件具有x权限的前提下),shel…