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.