Warum erhalte ich diesen Fehler? Ich versuche, diese set.conf zu beschaffen
user@connect:~/testenv$ source $(cd $(dirname $0) && pwd)"/set.conf"
dirname: invalid option -- 'b'
Try 'dirname --help' for more information.
-bash: /home/tempuser/set.conf: No such file or directory
Ich habe versucht, - $ 0 an der Eingabeaufforderung hinzuzufügen, es funktioniert aber gut. Wie kann ich das im Skript ausführen?
Antworten:
$0
In einem Skript befindet sich der Name des Skripts.Bei der Eingabeaufforderung ist dies der Name der Shell, was wahrscheinlich
-bash
in Ihrem Fall der Fall ist.dirname
behandelt den führenden Bindestrich als Einführung einer Befehlszeilenoption-b
, die nicht unterstützt wird.dirname -- $0
stattdessen: Mit den meisten Befehlen können Sie schreiben--
, damit alles, was folgt, als Parameter anstelle von Optionen behandelt wird. In diesem Fall wird das Problem nicht behoben, es sollte jedoch klarer werden, um welches Problem es sich handelt.quelle