Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Expect - bad command trap

Status
Not open for further replies.

sgy258

Technical User
Jan 13, 2004
1
US
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
}
}
}
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top