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) from create_script_add_user.bash script.
The problem is that when I run the script add_user.bash from create_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"