2016-05-04 10 views
0

Wenn ich das tueWie cd in ein Verzeichnis auf Remote-Rechner und führen Sie das Skript in diesem Verzeichnis

ssh [email protected] "cd /target && ls" 

die Dateien auf Remote-Computer angezeigt werden.

Jetzt versuche ich eine Datei auf dem Remote-Computer auszuführen.

Wenn ich dies tue erreicht es den Ordner mit dem Namen Ziel auf dem Remote-Rechner, aber die Datei wird auf dem lokalen Rechner ausgeführt. Wie file.sh auch auf dem Remote-Rechner laufen lassen?

+0

try ssh host @ someip "cd/target && sh file.sh"? – tianwei

+0

@tianwei es sagt, es gibt einen Fehler in file.sh ... Aber wenn ich es manuell auf Remote-Computer ausführen, funktionierte es. – Keerthimanu

+0

* "Die Datei wird auf dem lokalen Rechner ausgeführt" * Was hält Sie davon ab? – Jakuje

Antwort

0

Es hängt davon ab, wo Sie Ihre Bibliotheken auf dem Remote-Server initialisieren. Es gibt mehrere Möglichkeiten, die falsch sein können, aber ohne genauen Fehler, ist es unmöglich zu erraten:

  1. Ihre ~/.bashrc (oder anderen Startdateien) werden nicht geladen Bibliotheken für nicht interaktive Arbeitsplätze. Sie können TTY Zuordnung erzwingen:

    ssh -t [email protected] "cd /target && ./file.sh" 
    
  2. Sie könnten Bibliotheken initialisieren mit in einem anderen Skript. Sie können es laden, bevor das Skript ausgeführt wird:

    ssh [email protected] "source your_init_file && cd /target && ./file.sh" 
    
Verwandte Themen