On Centos我的脚本运行正常。但是当我运行脚本时,在Debian Squeeze上,我得到了:
cpfailover.sh: 30: Bad substitution
剧本说:
SCRIPT_PATH="${BASH_SOURCE[0]}";
我在许多例子中看到过,即使在这里,这是正确的行号。问题出在哪里。
答案 0 :(得分:20)
您使用的是/bin/sh
吗?在Debian Squeeze上,/bin/sh
是/bin/dash
的符号链接,不支持${array[0]}
。
答案 1 :(得分:2)
将您的代码更改为
SCRIPT_PATH=$0;
而不是
SCRIPT_PATH="${BASH_SOURCE[0]}";