Comment créer un shell de script pour envoyer cmd via telnet et enregistrer uniquement les résultats?


Réponses:


0

ssh est plus facile que telnet:

for host in host1 host2 host3; do
    ssh user@host remote_command with args 
done > result.file

Pour une connexion sans mot de passe, configurez les clés ssh


Cela aura des bugs, mais quelque chose comme:

#!/usr/bin/env expect
exp_internal 1
set out [open "results.txt" w]
foreach ip $argv {
    spawn telnet $ip
    expect "password: "
    send "$password\r"
    expect "% "          ;# this is the prompt, adjust to suit
    sent "the command\r"
    expect -re "([01,]+).*% "
    puts $out "$ip=$expect_out(1,string)"
    send exit
    expect eof
    exp_close
    wait
}
close $out

Merci, mais mes appareils ne supportent que le telnet. Je dois envoyer cette commande: status. Le résultat peut être: 0,0,0,0,0,0 ou 1,1,1,1,1 ou une combinaison que je veux mettre uniquement le résultat dans un fichier. Est-ce possible? Comme ceci: 192.168.1.1 = 0,0,0,0,0,0 192.168.1.2 = 1,0,0,0,0,0 192.168.1.3 = 0,1,0,0,0,0 192.168. 1,4 = 0,0,1,0,0,0 192.168.1.5 = 0,1,0,0,1,0
Simon
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.