Trying to understand EXPECT, so I created a script to add in new users.
The code below works without expect, and I can manually change the passwords for the new users.
However, if I use EXPECT (which is installed) to set passwords it creates the users but no passwords.
Both scripts are executable.
Expect Script
Output
I take it this is something to do with expect, maybe I have not understood it correctly, maybe I am picking the wrong spawn... I am not sure, as I have never used it before, but what I have read seems I have most of it correct.
I do this using two quickly hacked together scripts as follows - please bear in mind that these scripts are running on Solaris 11 and things are done this way to avoid a problem. But the scripts should be easily adaptable.
Script 1
Script 2
I would suggest that you modify the expect script to suit your environment and call it from your main script passing the variables as I do - it's easier that way I think.
in your main script I see that this is calling the expect script, with username & password
And looking at your expect code
it is taking the username and password from the args you passed from your script to the expect script.
so amending my expect script then running my users script... I still get
but looking at your expect script I see a random " at the eof, is this meant to be there without a closing "???
Having a quick look, if you use the -f switch. Then I think that /usr/bin/expect -f ${expect_commands_file} is what is expected.
If you create an expect script starting #!/usr/bin/expect containing the code - think that you'll get on better - also I'd be tempted to make an explicit call to it and to put some error checking in the control script.
I'm afraid I have to go offline shortly for about six hours, but you can try the following and see how it goes.
If you modify my expect script, with your system returns then execute the script against a manually created user account - passing it the username and a password. You will be able to tell if the expect code is correct, you can also check the path to expect with which expect.
Where are you editing the files as ^M suggests notepad or similar.
I'm fairly new to scripting so this might not be possible.
I am using Expect with Cisco switches and need to capture the string after finding the expect request. For example, when I issue "show version" on a Nexus switch, I'm looking to capture the current firmware version:
#show version
... (0 Replies)
the following code works sometimes. other times, it behaves mysteriously. when the script sshs to a box, it is suppose to automatically begin running the command it is told to run. but in this case, after this script logs into a host, it just sits there at the prompt and does not run the... (1 Reply)
I have a simple Expect script to power a system on and off in an endless loop looking for an ERROR message at which point the script should exit. But I need to skip the first 60 seconds after each power on or off and not exit if there are ERROR messages during that time. I thought I could use... (0 Replies)
Hi,
Am very new to expect scripting..
Can You please suggest me how to call an expect script inside another expect script..
I tried with
spawn /usr/bin/ksh
send "expect main.exp\r"
expect $root_prompt
and
spawn /usr/bin/ksh
send "main.exp\r"
expect $root_prompt
Both... (1 Reply)
Hello All,
I am trying to automate an installation process using expect and sh script. My problem is that during the installation process the expected value can change according to the situation.
For Example if this is a first time installation then at step 3 I'll get "Do you want to accept... (0 Replies)
This Expect script provides expect with a list of IP addresses to Cisco IPS sensors and commands to configure Cisco IPS sensors. The user, password, IP addresses, prompt regex, etc. have been anonymized. In general this script will log into the sensors and send commands successfully but there are... (1 Reply)
Hello to all...this is my first post (so please go easy). :)
I feel pretty solid at expect scripting, but I'm running into an issue that I'm not able to wrap my head around. I wrote a script that is a little advanced for logging into a remote Linux machine and changing text in a file using sed.... (2 Replies)
I need to run a remote application(GUI) in a client.i.e on running a script in the client machine i should get the GUI application which is running in the server by providing password through the script.Will expect or autoexpect command suit for this scenario?
could anyone help me by posting some... (0 Replies)
Hello all,
It's been a few years since I touched 'expect' and just got it on my system.
In the past, I could simply do the following:
(this is just a simple example)
$ expect
$ ls -l
$ pwd
$ exit
...then a default script name would be placed in my working directory. At this point I... (2 Replies)