Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
 
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
Expect - bad command trap

Posted by sgy258 (sgy258), 13 January 2004
I have an existing expect program that is used to spawn a telnet session and automatically login a user to a server. I would like to trap certain commands to prevent users from executing those commands (passwd, etc.). I modified my program according to Don Libes "Exploring Expect" Preventing - Bad Commands example on page 347.

The command trap works, however when a user types a string, the string is echoed back on the next line - example:

guest@gumby> pwd
pwd
/export/home

Is there a way to prevent the string from echoing a new line with the command?

Here is the section of code:

set prompt ">"
set badcmds "passwd|su"

interact {
-o -reset -nobuffer -re $prompt {
while 1 {
set timeout 1800
expect_user {
-re "^badcmds.*"
{
send_user "Command not allowed...!\n"
sleep 3
break
}
-re "(.*)\n"
{
send "$expect_out(1,string)\r"
break
}
timeout {
exit
}
}
}



This page is a thread posted to the opentalk forum at www.opentalk.org.uk and archived here for reference. To jump to the archive index please follow this link.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2022: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho