2013-04-10 4 views
13

Sto provando a stabilire una connessione SSH e vedere se esiste una directory e se questa directory esiste, voglio eseguire i comandi sul computer locale che ha eseguito il comando Chiamata SSH.Come verificare se dir esiste su ssh e restituire i risultati sul computer host

Ecco quello che ho tentato:

if [ ssh -t [email protected]_server -d /directory ] 
then 
{ 
    commands.... 
} 
fi 

è qualcosa di simile possibile?

+0

Sì, lo è. Tuttavia, è meglio ottenere prima i dati, archiviare una variabile e giocarci con "if". – fedorqui

+0

Come si ottengono i dati tramite ssh su un server e lo si invia al mio computer locale? So come farlo viceversa .. –

+0

^^ Vedere la mia risposta ... – anishsane

risposta

26

Vi sono molto vicino:

Change if per

if ssh [email protected]_server '[ -d /directory ]' 

Io parto dal presupposto che avete l'autenticazione basata su chiave di setup.

+0

Ha funzionato! Sono curioso, però, perché le parentesi hanno fatto la differenza tra parentesi per avviare e chiudere la dichiarazione if? –

+0

E sì, sto usando l'autenticazione basata su chiave. La parentesi –

+1

non ** è ** necessaria ** ma aumenta la leggibilità. – anishsane

Problemi correlati