Auf Centos funktioniert mein Skript gut. Aber auf Debian Squeeze, wenn ich Skript ausführen, ich habe:
cpfailover.sh: 30: Bad substitution
Zeile des Skripts sagen:
SCRIPT_PATH="${BASH_SOURCE[0]}";
ich in vielen Beispielen gesehen haben, auch hier, das ist eine richtige Linie Nr. Wo ist das Problem.
Können Sie "$ 0" statt '$ {BASH_SOURCE [0]}' verwenden? AFAIK sollten sie gleich sein. – khachik
@khachik: '$ {BASH_SOURCE [@]}' wird in Bash 3.0 zum Zwecke der Fehlersuche eingeführt. Es bedeutet nicht dasselbe wie "$ 0". Laut BASH-Handbuch sind Elemente in '$ {BASH_SOURCE [@]}' die * Quelldateinamen *, die den Elementen in '$ {FUNCNAME [@]}' entsprechen. – pynexj