Sto provando a scrivere uno script per accedere a diversi server remoti ed eseguire uno script in ciascun server. Tuttavia, mi piacerebbe passare una variabile attraverso ssh. Qualcosa del genere:variabili passanti tramite ssh
var="/home/dir/"
ssh -T $mchname <<'ENDSSH'
$var"run_script" <input> output &
ENDSSH
Questo tentativo ingenuo non funziona ($ var è semplicemente nullo). Quale sarebbe la sintassi corretta? Grazie in anticipo.
Ok, questo funziona. Ma ora il controllo ritorna allo script principale una volta che "run_script" è finito in $ mchname (anche se sto usando '&'), che non è quello che voglio. Come posso ripararlo? Ci scusiamo per le domande di base. Se vuoi, puoi indicarmi un tutorial su ssh dove posso guardare questo. Grazie. – user1477337
@ user1477337: La e commerciale è in effetti sulla macchina di destinazione e significa semplicemente che il controllo ritorna allo script principale più rapidamente poiché non deve attendere il completamento di 'run_script'. Ma poiché non c'è nulla dopo il comando 'ssh' e il suo documento qui presente, lo script principale dovrebbe uscire non appena viene chiusa la connessione' ssh' che dovrebbe essere quasi immediatamente. Comunque, se c'è qualche ragione per cui è necessario, puoi provare il prefisso 'exec' al comando' ssh': 'exec ssh ... 'Tutto questo è correlato alla shell e per lo più non è specifico per' ssh'. –