So lösen Sie das Problem des Befehlsfehlers, der durch das Überschreiben des ursprünglichen Pfads und die Meldung „Befehl nicht gefunden“ verursacht wird

So lösen Sie das Problem des Befehlsfehlers, der durch das Überschreiben des ursprünglichen Pfads und die Meldung „Befehl nicht gefunden“ verursacht wird

Ein Kollege bat mich, ihm dabei zu helfen, herauszufinden, warum viele Befehle auf seinem LINUX-Server nicht verwendet werden konnten, mit der Meldung „Befehl nicht gefunden“. Noch schlimmer war, dass viele Systemdienste und Skripte nicht ausgeführt werden konnten. Lassen Sie mich Sie fragen, was haben Sie vorher gemacht? Er sagte, ich hätte die gleiche Operation durchgeführt, lediglich „export PATH“ in der Datei /etc/profile hinzugefügt, und fragte, wie ich es eingestellt hätte. Die Antwort ist:

[root@localhost ~]# vim /etc/profile 
export PATH=/usr/lib/jenkins/
[root@localhost ~]# Quelle /etc/Profil

Er sagte, dass er einfach das Standardarbeitsverzeichnis von Jenkins hinzugefügt und dann die Quelle verwendet habe, um die Konfigurationsdatei wirksam zu machen. Tatsächlich liegt genau hier das Problem!

PATH ist der Systemumgebungspfad. Alle Systembefehle und Skriptausführungen werden gemäß dem PATH-Pfad durchsucht. Aber wenn export PATH=/usr/lib/jenkins/ , werden alle zuvor vom System festgelegten Verzeichnisse, wie (/bin/; /sbin und andere Verzeichnisse, in denen Systembefehle gespeichert sind), überschrieben und werden zu Jenkins-Arbeitsbefehlen. Systembefehle wie ls, pwd, cd werden definitiv nicht im Jenkins-Verzeichnis gefunden. Infolgedessen können alle Befehle, Skripte und Dienste nicht ausgeführt werden. Dies ist der Hauptgrund für diesen blutigen Vorfall!

Wie wird der tatsächliche Systempfad festgelegt?

Wenn es sich um eine kurzfristige Einstellung handelt:

export PATH=$PATH:/usr/lib/jenkins/

Wenn es sich um eine langfristige Einstellung handelt:

[root@localhost ~]# vim /etc/profile 
export PATH=$PATH:/usr/lib/jenkins/
[root@localhost ~]# Quelle /etc/Profil

In diesem Fall wird der neue Suchpfad zur ursprünglichen Einstellung hinzugefügt, ohne den ursprünglichen PFAD zu überschreiben.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Linux verwendet join -a1, um zwei Dateien zusammenzuführen
  • So gehen Sie mit der Meldung „Vorgang nicht zulässig“ beim Löschen von Dateien in Linux um
  • Linux-Shell-Befehl zählt den Wert einer Spalte nach der Deduplizierung
  • Tipps zum Anzeigen von Verlaufsdatensätzen und Hinzufügen von Zeitstempeln in Linux
  • Mehrere Möglichkeiten, Python-Programme im Linux-Hintergrund auszuführen
  • Erstellen und Ausführen von Linux-Shell-Skripten
  • Python verwendet Paramiko zum Betrieb von Linux
  • Schritte zum Übertragen von Dateien und Ordnern zwischen zwei Linux-Servern
  • Implementierungsmethode von Android zum Ausführen von Shell-Skripten im Linux-Terminal, um das Protokoll der aktuell ausgeführten App direkt auszudrucken
  • Verwendung der Zabbix-API in einer Linux-Shell-Umgebung

<<:  Detaillierte Erklärung des digitalen Puzzles CocosCreator Huarongdao

>>:  So löschen Sie schnell alle Tabellen in MySQL, ohne die Datenbank zu löschen

Artikel empfehlen

Detaillierte Erklärung zur Verwendung von Router-View-Komponenten in Vue

Wenn Sie ein Vue-Projekt entwickeln, müssen Sie h...

JS generiert eindeutige ID-Methoden: UUID und NanoID

Inhaltsverzeichnis 1. Warum NanoID UUID ersetzt 2...

Anleitung zur Vermeidung von Docker Win Ping-Fehlern bei Containern

Über Win Docker-Desktop möchte ich mich mit der C...

MySQL-Trigger-Verwendungsszenarien und Methodenbeispiele

auslösen: Trigger-Verwendungsszenarien und entspr...

Detaillierte Erklärung des HTML-Bereichs-Tags

Der <area>-Tag definiert einen Bereich in e...

Klassischer MySQL-High-Level-/Befehlszeilenvorgang (schnell) (empfohlen)

Da ich lernen muss, wie man Server und Datenbanke...

So verwenden Sie ein HTML-Formular mit mehreren Beispielen

Neun einfache Beispiele analysieren die Verwendun...

Implementierung von Socket-Optionen in der Linux-Netzwerkprogrammierung

Socket-Optionsfunktion Funktion: Methoden zum Les...

Vue verwendet dynamische Komponenten, um einen TAB-Umschalteffekt zu erzielen

Inhaltsverzeichnis Problembeschreibung Was ist di...