Wenn Sie ein Programm über die Befehlszeile ausführen, stellen Sie möglicherweise fest, dass die beiden Zeichen „./“ automatisch vor dem Programmnamen eingefügt werden. Dies liegt daran, dass „./“ in Unix- und Linux-Systemen das aktuelle Verzeichnis darstellt. Wenn Sie einen Befehl zum Ausführen eines Programms eingeben, sucht das System zunächst im aktuellen Verzeichnis nach der ausführbaren Datei des Programms. Wenn Sie „./“ nicht hinzufügen, geht das System davon aus, dass Sie den mit dem System gelieferten Befehl oder das Programm in dem durch die Umgebungsvariable PATH angegebenen Pfad ausführen möchten. Um sicherzustellen, dass das Programm im aktuellen Verzeichnis ausgeführt wird, müssen wir daher „./“ vor dem Programmnamen hinzufügen. Dies ist ein Systemstandardverhalten, das die Sicherheit und Konsistenz der Befehlszeile gewährleistet.
Zum Beispiel
package main import ( "fmt" "net/http" ) func hello(res http.ResponseWriter, req *http.Request) { fmt.Fprint(res, "Hello, my name is Inigo Montoya") } func main() { http.HandleFunc("/", hello) http.ListenAndServe("localhost:4000", nil) }
Warum nicht inigo
,自动转换为 ./inigo
ersetzen, wenn Sie einen Befehl eingeben?
Sie brauchen
./inigo
Weil .
不在、也不应该在您的 path
中。 .
sich nur auf das aktuelle Verzeichnis bezieht.
Angenommen, Sie verwenden bash
, wie das Frage-Tag andeutet, diese Alternative
$pwd/inigo
funktioniert auch wie jeder andere relative oder absolute Pfad zu inigo
.
Alternativ können Sie $pwd
添加到您的 path
,这样做的优点是不需要您键入上述任何内容,而不会产生添加 .
zum Sicherheitsrisiko hinzufügen.
Angenommen, Sie befinden sich in einem Verzeichnis, das inigo
enthält, dann
path+=:$pwd
Dann einfach eintreten
inigo
Von überall.
Das obige ist der detaillierte Inhalt vonWarum wird ./ automatisch vor dem Programmnamen eingefügt, wenn ein Befehl zum Ausführen eines Programms eingegeben wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!