Vérifier qu'un fichier existe sur ssh

Je suis en train de tester si un fichier existe sur SSH à l'aide de pexpect. J'ai obtenu la plupart de code de travail, mais j'ai besoin d'attraper la valeur, de sorte que je puis affirmer, si le fichier existe. Le code que j'ai fait est ci-dessous:

def VersionID():
ssh_newkey = 'Are you sure you want to continue connecting'
# my ssh command line
p=pexpect.spawn('ssh [email protected]')
i=p.expect([ssh_newkey,'password:',pexpect.EOF])
if i==0:
p.sendline('yes')
i=p.expect([ssh_newkey,'password:',pexpect.EOF])
if i==1:
p.sendline("word")
i=p.expect('[email protected]:')
p.sendline("cd /opt/ad/bin")
i=p.expect('[email protected]:')
p.sendline('[ -f email_tidyup.sh ] && echo "File exists" || echo "File does not exists"')
i=p.expect('File Exists')
i=p.expect('[email protected]:')
assert True
elif i==2:
print "I either got key or connection timeout"
assert False
results = p.before # print out the result
VersionID()

Merci pour toute aide.

Je ne pense pas que vous auriez vu à l'aide de ssh-agent pour stocker votre mot de passe? Si vous l'avez fait, vous pourriez éviter d'pexpect entièrement et il suffit de faire: ssh [email protected] "commande"
J'ai posté ma réponse à cette question ci-dessous. Merci

OriginalL'auteur chrissygormley | 2010-02-03