GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was bedeutet `. /Pfad/Befehl` Tun? (Leerzeichen nach Punkt, absoluter Pfad)?

Für diese Frage gibt es hier bereits Antworten :Was bedeutet ein Punkt vor einem Befehl in der Shell?

(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?
Linux
  1. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  2. Auf welchen Systemen unterscheidet sich //foo/bar von /foo/bar?

  3. Was bedeutet die Tilde (~) am Ende eines Dateinamens??

  4. Was bedeutet -zxvf in tar -zxvf <Dateiname>?

  5. Was bedeutet ein Punkt nach den Dateiberechtigungsbits?

Linux – Was bedeutet der Buchstabe „u“ in /dev/urandom?

Was ist ein absoluter Pfad?

Was ist Source Command in Linux und wie funktioniert es?

Absoluter vs. relativer Pfad in Linux:Was ist der Unterschied?

Was bedeutet rc in Punktdateien

Was macht source /etc/network/interfaces.d/* am Anfang der Datei /etc/network/interfaces?