SCRIPT_PATH =“$ {BASH_SOURCE [0]}”错误的替换

时间:2013-03-21 07:38:25

标签: bash variables

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

cpfailover.sh: 30: Bad substitution

剧本说:

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

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

2 个答案:

答案 0 :(得分:20)

您使用的是/bin/sh吗?在Debian Squeeze上,/bin/sh/bin/dash的符号链接,不支持${array[0]}

答案 1 :(得分:2)

将您的代码更改为

SCRIPT_PATH=$0;

而不是

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