Catch the prompt with regex - WeOnlyDo Discussion board

Catch the prompt with regex (General questions)

by emcemc, Thursday, March 13, 2008, 18:15 (6098 days ago)

Hello,

I'm looking for a regex that catches all login prompt for Solaris and Linux, that includes telnet and SSH.

Is there any?

Thanks in advance!

Re: Catch the prompt with regex

by wodDamir, Thursday, March 13, 2008, 18:25 (6098 days ago) @ emcemc

Hi emc,

I really can't tell. The prompt can be different on each system, even between the same vendors. You can try with something like this:

regex:[$ #>] $

However, you'll most probably have to try it on your side to see if it works.

Regards,
Damba

Re: Catch the prompt with regex

by emcemc, Friday, March 14, 2008, 09:53 (6098 days ago) @ wodDamir

Many thanks!

I have another question please: What is the best practice to validate the output I recieve from the other side? Is it the same for both SSH and Telnet?

For example: I'm looking for /tmp/a.txt file and I would like my VB application to validate it's exist indeed.

Thanks again!

Re: Catch the prompt with regex

by wodDamir, Friday, March 14, 2008, 10:27 (6098 days ago) @ emcemc

emc,

They should be the same. However, again, it could vary from different implementations of the server. The best practice is to try, and adjust the code to match the servers.

Regards,
Damba

Re: Catch the prompt with regex

by emcemc, Friday, March 14, 2008, 10:53 (6098 days ago) @ wodDamir

Thanks.
I tried it before writing my second post, and I saw that some of the output comes by recieved action (Telnet), while other comes with prompt_recieved action (SSH only?). I havn't found a generic solution yet.

I'm tring to find a generic solution, since I'm implementing a system that uses this dll for all kinds of unix and linux.

Re: Catch the prompt with regex

by wodDamir, Friday, March 14, 2008, 11:11 (6098 days ago) @ emcemc

emc,

In both casese (SSH and Telnet) the PromptReceived Event will be triggered if Prompt property is specified, and wodSSH receives it. When this occures, it's usually a sign that you can execute a new command.

As for receiving the data, you should use Received Event instead. Just call Receive method in order to receive all the data.

Ofcourse, this applies to non-blocking mode.

Regards,
Damba