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('service@main-:')
            p.sendline("cd /opt/ad/bin")
            i=p.expect('service@main-:')
            p.sendline('[ -f email_tidyup.sh ] && echo "File exists" || echo "File does not exists"')
            i=p.expect('File Exists')
            i=p.expect('service@main-:')
            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 user@host "commande"
J'ai posté ma réponse à cette question ci-dessous. Merci

OriginalL'auteur chrissygormley | 2010-02-03