Run expect script from other shell
6,839
I find the solution for the problem
need to run the /var/tmp/add_user.bash without the process " & "
example
#need sleep for 5 seconds
sleep 5
source /var/tmp/add_user.bash
now expect get the "n)" string and send "y" as answer
Related videos on Youtube
Author by
yael
Updated on September 18, 2022Comments
-
yael over 1 year
My target is to create the
/var/tmp/add_user.bash
script from/var/tmp/create_script_add_user.bash
script and run the expect script (add_user.bash
) fromcreate_script_add_user.bash
script.The problem is that when I run the script
add_user.bash
fromcreate_script_add_user.bash
, then expect gets stuck on the question:Proceed? n)
It looks like expect can't see the question from standard output. But when I run the script
/var/tmp/add_user.bash
, then it works fine.Why can't expect run from the other script? And how to solve this issue?
Contents of
/var/tmp/create_script_add_user.bash
#!/bin/bash echo '#!/bin/bash add_user=`cat << EOF set timeout -1 spawn /var/tmp/add_user.bash user_name=OBAMA expect n) { send "yes\r" } expect eof EOF` /usr/local/bin/expect -c "$add_user" '> /var/tmp/add_user.bash chmod +x /var/tmp/add_user.bash #need sleep for 5 seconds ( sleep 5 ; /var/tmp/add_user.bash ) &
Contents of
/var/tmp/add_user.bash
#!/bin/bash add_user=`cat << EOF set timeout -1 spawn /var/tmp/add_user.bash user_name=OBAMA expect n) { send "yes\r" } expect eof EOF` /usr/local/bin/expect -c "$add_user"
-
yael about 11 yearsthx Vonbrand - did you think it will be better to migrate my question to stack-overflow ?
-
Angel Todorov about 11 yearsAlso asked on serverfault
-
yael about 11 yearshi gilles can you consider to deliver my question to stackoverflow
-