Sto creando un piccolo set di script per l'avvio, l'arresto e il controllo in remoto dello stato di un processo. Lo stop
di questi script dovrebbe cercare un processo e ucciderlo. Perciò faccio:Come sfuggire al carattere di virgoletta singola in un comando ssh/remote bash?
ssh [email protected] 'kill -9 `ps -ef | grep MapReduceNode | grep -v "grep" | awk -F " " '{print $2}' | head -n 1`'
Il problema qui è che il passo awk tokenizzazione ha bisogno di virgolette singole e questi si scontrano con la sola offerta utilizzato per l'esecuzione del comando remoto tramite ssh. Come possono essere sfuggite queste singole virgolette?
Prova> ssh implementare @ hera 'kill -9 \ 'ps -ef | grep MapReduceNode | grep -v "grep" | awk -F "" "'" {print $ 2} "'" | head -n 1 \ '' – RedX
@RedX Funziona grazie! usalo come risposta e accetterò. –