


JSch-Benutzerbefehle schlagen bei Ausführung über Java mit „... nicht gefunden“ fehl
Problem:
Versuche, bestimmte Unix-Befehle über Java mithilfe der JSch-Bibliothek auszuführen, führen zu einem „... nicht gefunden“-Fehler, obwohl die Befehle ordnungsgemäß funktionieren, wenn sie direkt über einen SSH-Client ausgeführt werden.
Mögliche Gründe:
- Pseudo-Terminal-Zuweisung: Der „exec“-Kanal in JSch weist standardmäßig kein Pseudo-Terminal (PTY) zu, was zu einer anderen führt Umgebungseinrichtung und möglicherweise fehlende Shell-Skripte.
- PATH-Änderung: Die Umgebungsvariable PATH kann für interaktive und nicht interaktive Sitzungen unterschiedlich eingestellt sein, was dazu führt, dass ausführbare Dateien nicht mehr verfügbar sind.
Lösungen:
Empfohlen:
-
Befehl „Vollständiger Pfad“: Verwenden Sie den vollständigen Pfad zu die ausführbare Datei im Befehl, z. B. /bin/air sandbox run
. - Anpassung des Startskripts: Ändern Sie Startskripte, um konsistente PATH-Einstellungen sowohl für interaktive als auch für nicht-interaktive Anwendungen sicherzustellen -interaktive Sitzungen.
Alternative Ansätze:
- Login-Shell-Aufruf: Führen Sie den Befehl explizit über die Login-Shell mit aus den Schalter --login.
-
Umgebungsänderung: Legen Sie die erforderlichen Umgebungsvariablen im Befehl selbst fest, z. B. PATH="$PATH;/path/to/air" && Air Sandbox Run
.
- PTY-Aktivierung (nicht empfohlen): Das Erzwingen der PTY-Zuweisung für den „exec“-Kanal ist zwar möglich, kann jedoch zu Seitenfehlern führen Auswirkungen.
Verwandte Probleme:
- [Bestimmte Unix-Befehle schlagen mit „... nicht gefunden“ fehl, auch wenn setPty aktiviert ist](https ://stackoverflow.com/questions/34846613/certain-unix-commands-fail-with-not-found-when-executed-through-java-using-jsch-ev)
- [Befehl mit SSH ausgeführt .NET SshClient.RunCommand schlägt mit „Keine solche Datei oder kein solches Verzeichnis“ fehl]https://stackoverflow.com/questions/19774736/command-4gl-executed-with-ssh-net-sshclient-runcommand-fails-with-no-such -file-o)
Das obige ist der detaillierte Inhalt vonWarum schlagen JSch-Benutzerbefehle mit „Nicht gefunden' fehl, wenn sie über Java ausgeführt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Dreamweaver CS6
Visuelle Webentwicklungstools

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools