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

王林
Freigeben: 2024-02-09 19:45:12
nach vorne
854 Leute haben es durchsucht

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)
}
Nach dem Login kopieren

Warum nicht inigo ,自动转换为 ./inigo ersetzen, wenn Sie einen Befehl eingeben?

Lösung

Sie brauchen

./inigo
Nach dem Login kopieren

Weil . 不在、也不应该在您的 path 中。 . sich nur auf das aktuelle Verzeichnis bezieht.

Angenommen, Sie verwenden bash, wie das Frage-Tag andeutet, diese Alternative

$pwd/inigo
Nach dem Login kopieren

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
Nach dem Login kopieren

Dann einfach eintreten

inigo
Nach dem Login kopieren

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!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!