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

abk*_*rim 15 variables bash

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

cpfailover.sh: 30: Bad substitution
Run Code Online (Sandbox Code Playgroud)

脚本说:

SCRIPT_PATH="${BASH_SOURCE[0]}";
Run Code Online (Sandbox Code Playgroud)

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

pyn*_*exj 21

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

  • 由于您的脚本依赖于bash特定功能,我建议您明确使用/ bin/bash. (5认同)