Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: EXPECT передача переменной скрипту  (Прочитано 2803 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Munsera

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Здравствуйте. Как реализовать передачу переменной скрипту.
Ну например есть скрипт:

#!/usr/bin/expect -f

set timeout -1
spawn telnet $SWITCH_IP
match_max 100000
expect -exact "Trying $SWITCH_IP...\r\r
Connected to $SWITCH_IP ($SWITCH_IP).\r\r
Escape character is '^\]'.\r\r
\r
\r
User Access Verification\r
\r
Username: "
send -- "логин\r"
expect -exact "логин\r
Password: "
send -- "пароль\r"
expect -exact "\r
\r
switch10027#"
send -- "conf t\r"
expect -exact "conf t\r
Enter configuration commands, one per line.  End with CNTL/Z.\r
switch10027(config)#"
send -- "ip acce        "
expect -exact "\r
switch10027(config)#ip access-list "
send -- "e   "
expect -exact "\r
switch10027(config)#ip access-list extended "
send -- "155\r"
expect -exact "155\r
switch10027(config-ext-nacl)#"
send -- "per    "
expect -exact "\r
switch10027(config-ext-nacl)#permit "
send -- "ip g^H"
expect -exact "ip g^H ^H"
send -- "h   "
expect -exact "\r
switch10027(config-ext-nacl)#permit ip host "
send -- "х.х.х.5 a        "
expect -exact "\r
switch10027(config-ext-nacl)#permit ip host х.х.х.5 any "
send -- "\r"
expect -exact "\r
switch10027(config-ext-nacl)#"
send -- "exit\r"
expect -exact "exit\r
switch10027(config)#"
send -- "exit\r"
expect -exact "exit\r
switch10027#"
send -- "exit\r"
expect eof

Он допустим находится в /home/и называется local
пробую запускать скрипт с параметром
Код:
#/home/local set SWITCH_IP 192.168.0.1

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: EXPECT передача переменной скрипту
« Ответ #1 : 02 Марта 2011, 11:14:48 »
/home/local set SWITCH_IP 192.168.0.1
$0=/home/local
$1=SWITCH_IP
$2=192.168.0.1

Оффлайн Munsera

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: EXPECT передача переменной скрипту
« Ответ #2 : 02 Марта 2011, 11:31:08 »
А можно по подробнее? Не разобрался...

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: EXPECT передача переменной скрипту
« Ответ #3 : 02 Марта 2011, 11:48:16 »
$ func () { echo -e "$1\n$2\n$3"; }
$ func a b c
a
b
c

А можно по подробнее? Не разобрался...
rtfm
LESS='-p ^PARAMETERS' man bash

 

Страница сгенерирована за 0.046 секунд. Запросов: 25.