il telecomando ssh non funzionerà se


1

Questo non funzionerà,

ssh -o ConnectTimeout=10 -o BatchMode=yes -o "StrictHostKeyChecking no" -q server1  "if [[ $(/usr/bin/lsblk /dev/sde | wc -l) = 2 ]]; then echo found; fi"

Ma se lo faccio sul cli remoto o usando Ansible "if [[ $(/usr/bin/lsblk /dev/sde | wc -l) = 2 ]]; then echo found; fi", funzionerà. Non voglio usare ansible tutto il tempo poiché abbiamo solo tower e lento per fare semplici query.

Grazie per il vostro sostegno.

Risposte:


1

La sostituzione del comando $(/usr/bin/lsblk ... )è racchiusa tra virgolette e $non viene ignorata, quindi verrà eseguita e sostituita sul computer locale prima sshancora di essere eseguita. Se si desidera che venga eseguito sul sistema remoto, utilizzare virgolette singole anziché doppie oppure sfuggire a $.


0

Rispondi, inseriscilo in uno script 1.sh,

ssh -o ConnectTimeout = 10 -o BatchMode = yes -o "StrictHostKeyChecking no" -q server <1.sh

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.