LINUX.ORG.RU

telnet x.x.x.x <<EOF
command1
command2
EOF


еще вариант

#!/bin/sh

HOST='x.x.x.x'
USER='User'
PASSWD='Pass'
CMD=''

(
echo open "$HOST"
sleep 2
echo "$USER"
sleep 2
echo "$PASSWD"
sleep 2
echo "$CMD"
sleep 2
echo "exit"
) | telnet



если сложнее, то можно expect использовать
#!/usr/bin/expect #Where the script should be run from.

#If it all goes pear shaped the script will timeout after 20 seconds.
set timeout 20
#First argument is assigned to the variable name
set name [lindex $argv 0]
#Second argument is assigned to the variable user
set user [lindex $argv 1]
#Third argument is assigned to the variable password
set password [lindex $argv 2]
#This spawns the telnet program and connects it to the variable name
spawn telnet $name 
#The script expects login
expect "login:" 
#The script sends the user variable
send "$user "
#The script expects Password
expect "Password:"
#The script sends the password variable
send "$password "
#This hands control of the keyboard over two you (Nice expect feature!)
interact

adn ★★★★
()
Ответ на: комментарий от adn

Спасибо, а как после $CMD проверить код ответа, и если он == 0, выдать $CMD1 и записать ответ в файл, а если не равен запустить другой скрипт и передать в него код ответа?

Eva
() автор топика
Ответ на: комментарий от I-Love-Microsoft

Ну на Python и telnetlib есть

https://docs.python.org/2/library/telnetlib.html

import getpass
import sys
import telnetlib

HOST = "localhost"
user = raw_input("Enter your remote account: ")
password = getpass.getpass()

tn = telnetlib.Telnet(HOST)

tn.read_until("login: ")
tn.write(user + "\n")
if password:
    tn.read_until("Password: ")
    tn.write(password + "\n")

tn.write("ls\n")
tn.write("exit\n")

print tn.read_all()

alx777 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.