Ich habe/usr/bin in meinem PATH und Punkt (Bedeutung aktuelles Verzeichnis) später im PATH. Ich habe ein Programm 'abcxyz' in zwei Verzeichnissen,/var und/someother. Wenn ich in einem Mate-Terminal in/var bin und einen absurden Namen, dgxuznk, eingebe, dann sagt bash: "bash: dgxuznk: command not found", wie Sie es erwarten würden. Wenn ich jetzt einen Link in/usr/bin namens dgxuznk mache, der auf das Programm in/someother verweist, wird das Programm ebenfalls ausgeführt, wie Sie es erwarten würden. Aber wenn ich jetzt diesen Link entferne, heißt es nicht mehr "Befehl nicht gefunden", sondern "bash:/usr/bin/dgxuznk: Keine solche Datei oder Verzeichnis". Es ist so, als ob es sich daran erinnert hätte, wo es zuvor gefunden wurde und erwartet es wieder unter/usr/bin zu finden.Wie kann man Linux anhalten, um die PATH-Suche abzubrechen?
Noch schlimmer, wenn ich jetzt das Programm in/var umbenennen (wo ich bin) zu dgxuznk, und geben Sie "dgxuznk" noch klagt "bash:/usr/bin/dgxuznk: Keine solche Datei oder Verzeichnis" als wenn es nicht über die/usr/bin im PATH kommen kann, um den Punkt zu sehen und im aktuellen Verzeichnis nach dem Programm zu suchen.
Ist das nur in Fedora 19? Wie kann ich es so programmieren, dass es über den/usr/bin im Suchpfad gelangt und den aktuellen Verzeichnispunkt findet?
(Hinweis:., Wenn Sie diesen Fehler reproduzieren wollen - lassen Sie es nicht um das Programm im aktuellen Verzeichnis finden, bis, nachdem er es in/usr/bin gefunden wird)
Setzen Sie '.' nicht in' $ PATH'. Es ist ein Sicherheitsproblem, das darauf wartet, zu passieren. –