GNU/Linux >> Linux Esercitazione >  >> Linux

Reindirizzamento di un output di una subshell a un processo?

Sto cercando di eseguire uno script in SSH e di passare alcuni parametri a quello script. Ho provato quanto segue che non ha funzionato:il valore non è passato:

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

Gli host di destinazione a volte sono molto rigidi e ricreati regolarmente, quindi modificare le impostazioni SSH su di essi è inutile.

Quindi sto cercando di ricorrere a un trucco e passare il valore all'interno dello script stesso. In altre parole, voglio aggiungere le variabili allo script.

Ho anche provato questi altri approcci:

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

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

Come posso anteporre la riga a ssh 's input?

Risposta accettata:

Vuoi una sostituzione di processo come ssh ... < <(...) . ssh ... < $(my_command) è una sostituzione di comando crea un reindirizzamento con ogni parola dal risultato di my_command come destinazione di reindirizzamento.


Linux
  1. Ssh:mantieni i processi in esecuzione dopo la disconnessione della sessione Ssh?

  2. Come modificare il reindirizzamento dell'output di un processo in esecuzione?

  3. Cosa significa nell'output di Ps?

  4. Perché l'opzione Ssh -t aggiunge Cr e Lf nell'output reindirizzato?

  5. Come reindirizzare l'output di un processo già in esecuzione

Reindirizzamento dell'output da un blocco funzione a un file in Linux

EC2 ssh pipe rotta termina il processo in esecuzione

Alias ​​in subshell/processo figlio

Reindirizzamento dell'output del comando nella finestra mobile

Come ottenere solo tutti gli ID di processo in esecuzione?

Riprendi il comando in esecuzione nella sessione SSH interrotta