Heim >Backend-Entwicklung >Golang >Warum wird ./ automatisch vor dem Programmnamen eingefügt, wenn ein Befehl zum Ausführen eines Programms eingegeben wird?

Warum wird ./ automatisch vor dem Programmnamen eingefügt, wenn ein Befehl zum Ausführen eines Programms eingegeben wird?

王林
王林nach vorne
2024-02-09 19:45:12918Durchsuche

Warum wird ./ automatisch vor dem Programmnamen eingefügt, wenn ein Befehl zum Ausführen eines Programms eingegeben wird?

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.

Frageninhalt

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?

Lösung

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.

Bearbeiten

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen