Warum sind Shell-Skripte so schwer zu entwickeln? In NodeJS könnte ich einfach tun:
require('./script')
und es wird immer ein Skript relativ zum aktuellen Skript erforderlich sein. Aber wenn ich das in Shell / Bash versuche:
./script.sh
Es wird nach einem Skript relativ zu cwd( pwd) gesucht. Der Punkt bedeutet cwd( pwd) und nicht das Verzeichnis, in dem sich das aktuelle Skript befindet, wie ich es erwartet hatte.
line 8: ./script.sh: No such file or directory
Wie führe ich ein Skript relativ zu dem Verzeichnis aus, in dem sich das aktuell ausgeführte Skript befindet?
Ich habe versucht
/bin/bash script.sh
aber Fehler bekommen:
/bin/bash: script.sh: No such file or directory
Dann versucht
script.sh
Habe diesen Fehler
line 8: script.sh: command not found
Nur die folgende Lösung hat gut funktioniert, aber das Problem ist, dass sie nicht lesbar ist:
$("$(dirname "$(realpath "$0")")/script.sh")