$ whatis source
source: nothing appropriate.
$ man source
No manual entry for source
$ source
bash: source: filename argument required
source: usage: source filename [arguments]
Es existiert und ist lauffähig. Warum gibt es in Ubuntu keine Dokumentation dazu? Was tut es? Wie kann ich Dokumentation dazu installieren?
bash
shell
documentation
Andrea Ambu
quelle
quelle
$ type source
source is a shell built-in
$ whatis source
source (1) - bash built-in commands, see bash(1)
. Auchman source
nimmt mich auf dieBASH_BUILTINS(1)
man - Seiten. Dies ist übrigens auf Fedora, keine Ahnung, warum diese Debian-Pakete nicht (oder schlecht) dokumentiert sind.Antworten:
source
ist ein in die Bash-Shell integrierter Befehl, der den Inhalt der als Argument übergebenen Datei in der aktuellen Shell ausführt . Es hat ein Synonym in.
(Punkt).quelle
source
ein bash-spezifischer Befehl oder haben ihn auch andere Shells? (Ich bitte, Tags direkt auf die Frage zu bekommen ...)source
war in der Bourne-Muschel vorhanden und daher wahrscheinlich in allen ihren Nachkommen vorhanden. en.wikipedia.org/wiki/Bourne_shell . Ich weiß, dass nicht alle Shells densource
Befehl haben, noch weniger sicher, welche Shells ihn enthalten.source
war nicht in der Bourne-Shell vorhanden, es ist eine GNU-Erweiterung, die viel später kam. Die ursprüngliche und noch tragbare Syntax (POSIX) besteht darin,.
stattdessen den Befehl "dot" zu verwenden. Ich persönlich benutzesource
es nie, da es länger zu tippen ist und keinen Mehrwert hat. Ich denke, sein Hauptzweck ist es, Skripte für Neulinge lesbarer zu machen.source
nicht nur aussagekräftiger ist, aber es sieht aus wie etwas anderes als ein Tippfehler. Ich habe Leute den Punkt überspringen lassen, wenn ich technische Befehle per E-Mail sende.source
in einer "Konfigurationsdatei" zu speichern, die hauptsächlich variable Zuweisungen enthält. Die Variablenzuweisungen steuern dann die Aufgaben, die der Rest des Skripts ausführt. Natürlich setzt ein gutes Skript die Variablen vor dem auf sinnvolle Standardwertesource
oder sucht zumindest nach gültigen Werten.Achtung!
./
undsource
sind nicht ganz dasselbe ../script
Führt das Skript als ausführbare Datei aus und startet eine neue Shell , um es auszuführensource script
Liest und führt Befehle aus dem Dateinamen in der aktuellen Shell- Umgebung ausHinweis:
./script
ist nicht. script
, aber. script
==source script
https://askubuntu.com/questions/182012/is-there-a-difference-between-and-source-in-bash-after-all?lq=1
quelle
./ == source == .
Es ist nützlich, den Befehl 'type' zu kennen:
Wann immer etwas eine eingebaute Shell ist, ist es Zeit zu tun
man bash
.quelle
man
)help {builtin-name}
, dhhelp source
.help
funktioniert nicht überall (zumindest in zsh).type
tut.. (ein Punkt) ist ein in die Bash-Shell integrierter Befehl , der die Befehle aus einer Datei ausführt, die als Argument in der aktuellen Shell übergeben wurde. 'source' ist ein Synonym für '.'.
Aus der Bash-Manpage:
quelle
'source' ist die lange Version von '.' Befehl. Auf der Bash-Eingabeaufforderung kann man Folgendes tun:
um die (geänderte?) Bash-Einstellung für die aktuelle laufende Bash neu zu laden.
Kurzfassung wäre:
Die Manpage:
quelle
source
Der Befehl führt das bereitgestellte Skript in der aktuellen Shell-Umgebung aus (ausführbare Berechtigungen sind nicht erforderlich ) , während das bereitgestellte ausführbare Skript in einer neuen Shell ausgeführt wird../
source
Befehl haben ein Synonym. filename
.Schauen Sie sich zur Verdeutlichung das folgende Skript an, mit dem der Alias festgelegt wird.
make_alias
Jetzt haben wir zwei Möglichkeiten, um dieses Skript auszuführen. Mit nur einer Option kann der gewünschte Alias für die aktuelle Shell unter diesen beiden Optionen erstellt werden.
Option 1:
./make_alias
Machen Sie das Skript zuerst ausführbar.
Ausführen
Überprüfen
Ausgabe
Hoppla! Alias ist mit der neuen Shell verschwunden.
Fahren wir mit der zweiten Option fort.
Option 2:
source make_alias
Ausführen
oder
Überprüfen
Ausgabe
Ja, Alias ist festgelegt.
quelle
Im Zweifelsfall verwenden Sie am besten den folgenden
info
Befehl:quelle
Geben Sie den Befehl "help source" in Ihre Shell ein.
Sie erhalten folgende Ausgabe:
quelle
Aus dem Linux-Dokumentationsprojekt, Advanced Bash Scripting Guide,
Kapitel 15 - Interne Befehle und integrierte Funktionen :
Für diejenigen, die mit der Programmiersprache C vertraut sind, hat die Beschaffung einer Datei einen ähnlichen Effekt wie die
#include
Direktive.Beachten Sie auch, dass Sie Positionsargumente an die zu beschaffende Datei übergeben können, wie zum Beispiel:
quelle
source
das Argumente oder Verwendung nehmen könntereturn
.Es sei darauf hingewiesen , dass , obwohl seine ein fantastischer Befehl, weder
source
noch die Stenografie von.
würde Quelle mehr als eine Datei, bedeutungoder
wird nicht funktionieren.
Wir können mithilfe von
for
Schleifen zurückgreifen , aber die ausführbare Datei wird oft ausgegeben, wobei mehrere Befehle erstellt oder ausgegeben werden.Fazit:
source
Nimmt nicht mehrere Dateien als Eingabe. Das Argument muss eins sein.Was meiner Meinung nach scheiße ist.
quelle
Mit source können Sie Variablen oder Funktionen aus einer anderen Datei an Ihr Skript übergeben und verwenden, ohne sie erneut schreiben zu müssen.
FI:
Prost
quelle