GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Umleiten einer Ausgabe einer Subshell zu einem Prozess?

Ich versuche, ein Skript in SSH auszuführen und einige Parameter an dieses Skript zu übergeben. Ich habe Folgendes versucht, was nicht funktioniert hat – der Wert wird nicht übergeben:

$ LC_FOO=x ssh -o SendEnv=LC_FOO $HOST < myLongScript.sh

Die Zielhosts sind manchmal sehr streng und werden regelmäßig neu erstellt, sodass es sinnlos ist, die SSH-Einstellungen auf ihnen zu ändern.

Also versuche ich, auf einen Trick zurückzugreifen und den Wert innerhalb des Skripts selbst zu übergeben. Mit anderen Worten, ich möchte die Variablen an das Skript anhängen.

Ich habe auch diese anderen Ansätze ausprobiert:

# doesn't work - 'ambiguous redirect'
$ ssh ... < $(...)

# doesn't work - 'LC_FOO=x: command not found'
$ $(echo "FOO=x"; cat myLongScript.sh) | ssh ...

Wie kann ich die Zeile ssh voranstellen Eingabe?

Akzeptierte Antwort:

Sie möchten eine Prozesssubstitution wie ssh ... < <(...) . ssh ... < $(my_command) ist eine Befehlssubstitution erstellt eine Umleitung mit jedem Wort aus dem Ergebnis von my_command als Weiterleitungsziel.


Linux
  1. Ssh – Beschränken eines Ssh/scp/sftp-Benutzers auf ein Verzeichnis?

  2. Verarbeiten Sie jede Ausgabezeile von „ping“ sofort in der Pipeline?

  3. So leiten Sie die Ausgabe eines bereits laufenden Prozesses um

  4. Führen Sie den Prozess mit Echtzeitausgabe in PHP aus

  5. Führen Sie einen persistenten Prozess über ssh aus

Das Umleiten der Befehlsausgabe an eine Variable in Bash schlägt fehl

Umleitung der Ausgabe von einem Funktionsblock in eine Datei unter Linux

Aliase in Subshell/untergeordnetem Prozess

Befehlsausgabe im Docker umleiten

Wie bekomme ich nur alle laufenden Prozess-IDs?

Fortsetzen des Befehls, der in einer unterbrochenen SSH-Sitzung ausgeführt wird