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.