Μάλιστα, αυτό ακριβώς, έξοχα γιατρέ μου! :)

Στο σενάριο εντολών που έφτιαξα, τελικά το υλοποίησα με το NetCat, το οποίο ανοίγει συνδέσεις δικτύου σε οποιαδήποτε θύρα, δηλαδή αντί για:

telnet 192.168.1.1

κάνεις:

nc 192.168.1.1 23

Όπου 23 είναι η θύρα του telnet (από προεπιλογή). Το NetCat έχει τη διαφορά ότι βγάζει το αποτέλεσμα στην πρότυπη έξοδο (stdout) άρα μπορεί κανείς να το «αρπάξει» σε μια μεταβλητή του Bash ή να το ανακατευθύνει σε ένα αρχείο κειμένου.

Πληροφοριακά, ο σκοπός του σεναρίου εντολών είναι να εκτελεί την ίδια εργασία (για παράδειγμα να λαμβάνει αντίγραφο ασφαλείας) από συσκευές δικτύου οι οποίες είναι διαφορετική μάρκα η κάθε μια, άρα και έχουν διαφορετικές εντολές για το ίδιο πράγμα. Αξιολογώντας την προτροπή της κάθε κάθε συσκευής στο telnet, το σενάριο αποφασίζει ποιές εντολές θα εκτελέσει σε κάθε συσκευή.

On 01/23/2012 05:10 PM, Savvas Radevic wrote:
Δηλαδή χρειάζεσαι μόνο αυτό το.. telnet prompt;

#!/usr/bin/python
from subprocess import *
command = ["/usr/bin/telnet", "192.168.1.1"]
p = Popen(command, stdin=PIPE, stderr=PIPE, stdout=PIPE)
# Grabs the stdout and kills the process
out = p.communicate()[0]
print(p.wait())
msg = "Command {0}\nOutput: {1}"
print(msg.format(" ".join(command), out))



--
Marios Zindilis

--
Ubuntu-gr mailing list
Ubuntu-gr@lists.ubuntu.com

If you do not want to receive any more messages from the ubuntu-gr mailing 
list, please follow this link and choose unsubscribe:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-gr

Απαντηση