16

在 Centos 上,我的脚本工作正常。但是当我运行脚本时,在 Debian Squeeze 上,我得到了:

cpfailover.sh: 30: Bad substitution

脚本行说:

SCRIPT_PATH="${BASH_SOURCE[0]}";

我在很多例子中看到过,即使在这里,这是一个正确的行号。哪里有问题。

4

2 回答 2

24

你在用/bin/sh吗?在 Debian Squeeze 上,/bin/sh是一个/bin/dash不支持${array[0]}.

于 2013-03-21T08:05:52.923 回答
3

将您的代码更改为

SCRIPT_PATH=$0;

代替

SCRIPT_PATH="${BASH_SOURCE[0]}";
于 2015-01-23T23:44:18.867 回答