ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Eugene Prokopiev <prokopiev@stc.donpac.ru>
To: Community@lists.altlinux.org
Subject: [Comm] Expect
Date: Wed, 22 Nov 2006 15:22:24 +0300
Message-ID: <45644100.8010904@stc.donpac.ru> (raw)

Здравствуйте!

Есть такой expect-скрипт:

#!/usr/bin/expect -f

set timeout 5

spawn telnet localhost

expect {
         "ogin:"         { send -- "test\r" }
         timeout         { abort }
}

expect {
         "assword:"      { send -- "1\r" }
         timeout         { abort }
}

expect {
         "\$"            { send -- "ls\r" }
         timeout         { abort }
}

expect {
         "\$"            { send -- "exit\r" }
         timeout         { abort }
}

exit 0

Вывод:
$ ./login.exp
spawn telnet localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
login: test
Password:
Last login: Wed Nov 22 15:15:13 2006 from localhost.localdomain on pts/7
-bash-2.05b$ invalid command name "abort"
     while executing
"abort "
     invoked from within
"expect -nobrace {$} { send -- "ls\r" } timeout { abort }"
     invoked from within
"expect {
         "\$"            { send -- "ls\r" }
         timeout         { abort }
}"
     (file "./login.exp" line 17)

Вопросы:

1) почему скрипт не дожидется \$ ?
2) почему abort (описанный в мане) - invalid command name?
3) можно ли упростить код, приняв что-то вроде "timeout { abort }" за 
поведение по умолчанию, чтобы в основном коде остались только expect и send?


-- 
С уважением, Прокопьев Евгений



             reply	other threads:[~2006-11-22 12:22 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-22 12:22 Eugene Prokopiev [this message]
2006-11-22 17:12 ` Peter Volkov
2006-11-22 17:59   ` Eugene Prokopiev
2006-11-23  7:23   ` Eugene Prokopiev
2006-11-23  7:58   ` Eugene Prokopiev
2006-11-23  8:25   ` Eugene Prokopiev
2006-11-23  9:35   ` Eugene Prokopiev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45644100.8010904@stc.donpac.ru \
    --to=prokopiev@stc.donpac.ru \
    --cc=Community@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git