My target  is to create the /var/tmp/add_user.bash script from /var/tmp/create_script_add_user.bash scriptand 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
Run expect script from other shell
linux;bash;shell script;expect
I find the solution for the problemneed to run the /var/tmp/add_user.bash without the process  & example       #need sleep for 5 seconds       sleep 5       source /var/tmp/add_user.bashnow expect get the n) string and send y as answer