(6 Antworten)
Vor 4 Monaten geschlossen.
Aus diesem Leitfaden zur Bash-Vervollständigung erfahren wir, dass Sie . /etc/etc/bash_completion.d/foobar
(beachten Sie das Leerzeichen nach .
), damit die Bash-Vervollständigung funktioniert.
$ /etc/bash_completion.d/ssh
bash: /etc/bash_completion.d/ssh: Permission denied
$ . /etc/bash_completion.d/ssh
$ ls -l /etc/bash_completion.d | grep ssh
-rw-r--r-- 1 root root 297 Jan 28 18:04 ssh
Ist .
eine Abkürzung für source
Befehl? Wenn nicht, was ist es dann? Es ist unmöglich, nach man source
zu googeln gibt nichts zurück und apropos source
und info source
geben so viele irrelevante Informationen, dass ich nicht sagen kann, ob das, wonach ich suche, darin enthalten ist. Wie könnte ich mit RTFM überhaupt anfangen, um selbst die Antwort auf diese Frage zu finden?
Akzeptierte Antwort:
Ja . ist identisch mit der source
Funktion.
Wie immer ist die erste Referenz der man bash
Handbuchseite, auf der Sie Ihre anfängliche Vermutung bestätigen können, indem Sie nach / source
suchen
…Shell-Funktion oder Skript ausgeführt mit . oder Quelle…
ist die erste Referenz, aber etwas weiter finden Sie einen Abschnitt Shell Builtin Commands
. filename [arguments]
source filename [arguments]
Liest und führt Befehle aus Dateiname in der aktuellen Shell-Umgebung
aus und gibt den Exit-Status des zuletzt ausgeführten Befehls
aus Dateiname zurück. Wenn Dateiname keinen Schrägstrich enthält, werden Dateinamen in
PATH verwendet, um das Verzeichnis zu finden, das Dateiname enthält. Die in PATH gesuchte Datei
muss nicht ausführbar sein. Wenn bash nicht im Posix
-Modus ist, wird das aktuelle Verzeichnis durchsucht, wenn keine Datei in PATH gefunden wird.
Wenn die sourcepath-Option für den eingebauten Shopt-Befehl ausgeschaltet ist,
ist PATH nicht gesucht. Wenn Argumente angegeben werden, werden sie
zu Positionsparametern, wenn filename ausgeführt wird. Ansonsten bleiben die Positionsparameter
unverändert. Der Rückgabestatus ist der Status
des letzten Befehls, der innerhalb des Skripts beendet wurde (0, wenn keine Befehle
ausgeführt wurden), und falsch, wenn der Dateiname nicht gefunden wurde oder nicht gelesen werden kann.
Die Tatsache, dass es sich um eine eingebaute Bash-Funktion handelt, ist der Grund, warum Source keine eigene Manpage enthält, weshalb apropos fehlgeschlagen ist.
Verwandte:apt-get *not* davon überzeugen, die IPv6-Methode zu verwenden?