Skip to the content.
Examples

Scenario:

You have many servers, one of them has problem when resolving a FQDN. You want to find the server by ping.

example.spy

hostnameToFind = 'problem.domain.com'
## credentials for loging
username = 'user'
password = '123456'
try:
    ## check a host only, given by CLI
    hosts = [__main__.unknown_args[0][1:]]
except IndexError:
    ## check all hosts
    hosts = ['host1','host2','host3','host4','host5'] # and many others here

for host in hosts:
    print('checking ',host)
    $.connect(f'{username}@{host}',password=password)
    with $ as console:
        ## "0" means not to keey output in memory
        console.sendline(f'ping {hostnameToFind}',0)
        count = 0
        for line in console.lines():
            count += 1
            ## this is important since "ping" runs forever
            if count > 5: break
            ## simply check the IP address on output
            print(line)
        ## explicitly stop the "ping" 
        console.shutdown()

execution

## check "host1" only
$sshscript example.spy -host1

## check all hosts
$sshscript example.spy