Warum muss ich das aktuelle Verzeichnis explizit mit "./" angeben, wenn "./configure" ausgeführt wird?

7

Ich bin neu in Linux. Es tut mir leid, wenn dies eine sehr grundlegende Frage ist.

Ich weiß, dass Sie Folgendes eingeben, um etwas zu installieren. Sie geben diese drei Befehle ein:

./configure
make
sudo make install

Ich weiß .bedeutet das aktuelle Verzeichnis. Bedeutet das also ./configure, das Programm configureim aktuellen Verzeichnis auszuführen ? Wenn ja, warum können Sie nicht einfach tippen configure?

User314159
quelle
Ich denke, der Titel dieser Frage könnte klarer formuliert werden, aber ich bin mir nicht sicher, was ich ändern soll. Etwas wie "Warum muss ich das aktuelle Verzeichnis explizit mit" ./ "angeben, wenn" ./configure "ausgeführt wird?"
Crdx

Antworten:

8

Nur die in aufgeführten Verzeichnisse $PATHwerden nach auszuführenden Befehlen durchsucht. Das aktuelle Verzeichnis wird aus $PATHSicherheitsgründen niemals aufgenommen , daher müssen Sie es explizit angeben.

Ignacio Vazquez-Abrams
quelle
3
Leider ist nie nicht wahr. Aber es sollte niemals der erste auf dem Weg sein. OP: Betrachten Sie dies. Ich erstelle ein böses Programm, das alle Dateien löscht, auf die ich Zugriff habe. Ich nenne das Skript lsoder etwas anderes, das unschuldig klingt und was Sie wahrscheinlich eingeben. Wenn Ihr Pfad zuerst das aktuelle Verzeichnis durchsucht und Sie diesen Befehl eingeben, liegt ein unerwartetes Problem vor.
Hennes