Bestimmte Unix-Befehle schlagen mit dem Fehler „Befehl nicht gefunden“ fehl, wenn sie über Java mit JSch ausgeführt werden
Dieses Problem tritt auf, wenn Unix-Befehle über Java ausgeführt werden unter Verwendung der JSch-Bibliothek. Wenn ein Befehl wie „Air nicht gefunden“ fehlschlägt, obwohl er in einem SSH-Client funktioniert, ist eine weitere Untersuchung erforderlich.
Ursache:
Im Gegensatz zu einer interaktiven SSH-Sitzung Der „exec“-Kanal in JSch weist kein Pseudo-Terminal zu. Dies kann dazu führen, dass ein anderer Satz von Startskripten ausgeführt wird, was zu einer anderen Umgebung führt. In diesem Fall ist die Umgebungsvariable PATH möglicherweise anders eingestellt, was dazu führt, dass die ausführbare Datei „air“ nicht verfügbar ist.
Lösungen:
Es gibt mehrere Methoden, um dieses Problem zu beheben Ausgabe, in der Reihenfolge ihrer Präferenz:
Verwandt Probleme:
Weitere ähnliche Probleme sind aufgetreten und werden im Folgenden besprochen Ressourcen:
Das obige ist der detaillierte Inhalt vonWarum schlagen bestimmte Unix-Befehle mit „Befehl nicht gefunden' fehl, wenn sie über Java mit JSch ausgeführt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!