autoexpect script.exp

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP












0














I use autoexpect generated a script.exp. see following.



how to understand



expect -exact " r
Type ha for help on aliasesr
r
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m " ?



and after I run script.exp. I got "ls" and "ls -l" result correctly.
and get command line prompt. but when I hit enter. there is no command line prompt. I have to use ctrl C, to exit so I can continue enter command from terminal.



What I'm missing?



#!/usr/bin/expect -f
#
# This Expect script was generated by autoexpect on Tue Dec 18 09:42:08 2018
# Expect and autoexpect were both written by Don Libes, NIST.
#
# Note that autoexpect does not guarantee a working script. It
# necessarily has to guess about certain things. Two reasons a script
# might fail are:
#
# 1) timing - A surprising number of programs (rn, ksh, zsh, telnet,
# etc.) and devices discard or ignore keystrokes that arrive "too
# quickly" after prompts. If you find your new script hanging up at
# one spot, try adding a short sleep just before the previous send.
# Setting "force_conservative" to 1 (see below) makes Expect do this
# automatically - pausing briefly before sending each character. This
# pacifies every program I know of. The -c flag makes the script do
# this in the first place. The -C flag allows you to define a
# character to toggle this mode off and on.

set force_conservative 0 ;# set to 1 to force conservative mode even if
;# script wasn't run conservatively originally
if $force_conservative
set send_slow 1 .1
proc send ignore arg
sleep .1
exp_send -s -- $arg



#
# 2) differing output - Some programs produce different output each time
# they run. The "date" command is an obvious example. Another is
# ftp, if it produces throughput statistics at the end of a file
# transfer. If this causes a problem, delete these patterns or replace
# them with wildcards. An alternative is to use the -p flag (for
# "prompt") which makes Expect only look for the last line of output
# (i.e., the prompt). The -P flag allows you to define a character to
# toggle this mode off and on.
#
# Read the man page for more info.
#
# -Don


set timeout -1
spawn $env(SHELL)
match_max 100000
expect -exact " r
Type ha for help on aliasesr
r
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m "
send -- "lsr"
expect -exact "lsr
[0m[00;32manswerbot[0m [00;32mexecmds.sh[0m [00;32mexecmds.sh.exp[0m [00;32mgdb.sh[0m [00min[0m [00mnohup.out[0m [00;32mquestions[0m [00;32mscript.exp[0m [00mspawn[0m [00;32mstb.sh[0m [00;32mtarget.exp[0m [00;32mtarget.sh[0m [00;32mtel[0m [00mtel.log[0m [00;32mterm[0mr
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m "
send -- "ls -lr"
expect -exact "ls -lr
total 56r
-rwxrwxr-x 1 luoric ccuser 256 Dec 10 14:26 [0m[00;32manswerbot[0mr
-rwxrwxr-x 1 luoric ccuser 264 Dec 13 17:07 [00;32mexecmds.sh[0mr
-rwxrwxr-x 1 luoric ccuser 424 Dec 13 17:13 [00;32mexecmds.sh.exp[0mr
-rwxrwxr-x 1 luoric ccuser 118 Dec 17 13:44 [00;32mgdb.sh[0mr
-rw-rw-r-- 1 luoric ccuser 8 Dec 10 12:13 [00min[0mr
-rw------- 1 luoric ccuser 6920 Dec 14 15:35 [00mnohup.out[0mr
-rwxrwxr-x 1 luoric ccuser 160 Dec 10 14:30 [00;32mquestions[0mr
-rwxrwxr-x 1 luoric ccuser 0 Dec 18 09:42 [00;32mscript.exp[0mr
-rw-rw-r-- 1 luoric ccuser 0 Dec 13 12:56 [00mspawn[0mr
-rwxrwxr-x 1 luoric ccuser 103 Dec 10 14:41 [00;32mstb.sh[0mr
-rwxrwxr-x 1 luoric ccuser 463 Dec 17 14:57 [00;32mtarget.exp[0mr
-rwxrwxr-x 1 luoric ccuser 140 Dec 17 13:50 [00;32mtarget.sh[0mr
-rwxrwxr-x 1 luoric ccuser 864 Dec 17 11:46 [00;32mtel[0mr
-rw-rw-r-- 1 luoric ccuser 1201 Dec 11 14:03 [00mtel.log[0mr
-rwxrwxr-x 1 luoric ccuser 153 Dec 13 13:13 [00;32mterm[0mr
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m "
send -- "exitr"
expect eof









share|improve this question























  • Don't use autoexpect unless you know exactly what you're doing.
    – Emily E.
    Dec 19 at 3:17










  • Autoexpect records exactly what you typed, and exactly what you saw. You saw colourized text thanks to your shell profile's ls alias, and autoexpect dutifully wrote the terminal colour codes into the file. When I use autoexpect, I always immediately edit the resulting script and remove probably 95% of the contents -- you generally just want to determine what the prompts are so you can use them as the expect patterns.
    – glenn jackman
    Dec 21 at 22:08
















0














I use autoexpect generated a script.exp. see following.



how to understand



expect -exact " r
Type ha for help on aliasesr
r
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m " ?



and after I run script.exp. I got "ls" and "ls -l" result correctly.
and get command line prompt. but when I hit enter. there is no command line prompt. I have to use ctrl C, to exit so I can continue enter command from terminal.



What I'm missing?



#!/usr/bin/expect -f
#
# This Expect script was generated by autoexpect on Tue Dec 18 09:42:08 2018
# Expect and autoexpect were both written by Don Libes, NIST.
#
# Note that autoexpect does not guarantee a working script. It
# necessarily has to guess about certain things. Two reasons a script
# might fail are:
#
# 1) timing - A surprising number of programs (rn, ksh, zsh, telnet,
# etc.) and devices discard or ignore keystrokes that arrive "too
# quickly" after prompts. If you find your new script hanging up at
# one spot, try adding a short sleep just before the previous send.
# Setting "force_conservative" to 1 (see below) makes Expect do this
# automatically - pausing briefly before sending each character. This
# pacifies every program I know of. The -c flag makes the script do
# this in the first place. The -C flag allows you to define a
# character to toggle this mode off and on.

set force_conservative 0 ;# set to 1 to force conservative mode even if
;# script wasn't run conservatively originally
if $force_conservative
set send_slow 1 .1
proc send ignore arg
sleep .1
exp_send -s -- $arg



#
# 2) differing output - Some programs produce different output each time
# they run. The "date" command is an obvious example. Another is
# ftp, if it produces throughput statistics at the end of a file
# transfer. If this causes a problem, delete these patterns or replace
# them with wildcards. An alternative is to use the -p flag (for
# "prompt") which makes Expect only look for the last line of output
# (i.e., the prompt). The -P flag allows you to define a character to
# toggle this mode off and on.
#
# Read the man page for more info.
#
# -Don


set timeout -1
spawn $env(SHELL)
match_max 100000
expect -exact " r
Type ha for help on aliasesr
r
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m "
send -- "lsr"
expect -exact "lsr
[0m[00;32manswerbot[0m [00;32mexecmds.sh[0m [00;32mexecmds.sh.exp[0m [00;32mgdb.sh[0m [00min[0m [00mnohup.out[0m [00;32mquestions[0m [00;32mscript.exp[0m [00mspawn[0m [00;32mstb.sh[0m [00;32mtarget.exp[0m [00;32mtarget.sh[0m [00;32mtel[0m [00mtel.log[0m [00;32mterm[0mr
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m "
send -- "ls -lr"
expect -exact "ls -lr
total 56r
-rwxrwxr-x 1 luoric ccuser 256 Dec 10 14:26 [0m[00;32manswerbot[0mr
-rwxrwxr-x 1 luoric ccuser 264 Dec 13 17:07 [00;32mexecmds.sh[0mr
-rwxrwxr-x 1 luoric ccuser 424 Dec 13 17:13 [00;32mexecmds.sh.exp[0mr
-rwxrwxr-x 1 luoric ccuser 118 Dec 17 13:44 [00;32mgdb.sh[0mr
-rw-rw-r-- 1 luoric ccuser 8 Dec 10 12:13 [00min[0mr
-rw------- 1 luoric ccuser 6920 Dec 14 15:35 [00mnohup.out[0mr
-rwxrwxr-x 1 luoric ccuser 160 Dec 10 14:30 [00;32mquestions[0mr
-rwxrwxr-x 1 luoric ccuser 0 Dec 18 09:42 [00;32mscript.exp[0mr
-rw-rw-r-- 1 luoric ccuser 0 Dec 13 12:56 [00mspawn[0mr
-rwxrwxr-x 1 luoric ccuser 103 Dec 10 14:41 [00;32mstb.sh[0mr
-rwxrwxr-x 1 luoric ccuser 463 Dec 17 14:57 [00;32mtarget.exp[0mr
-rwxrwxr-x 1 luoric ccuser 140 Dec 17 13:50 [00;32mtarget.sh[0mr
-rwxrwxr-x 1 luoric ccuser 864 Dec 17 11:46 [00;32mtel[0mr
-rw-rw-r-- 1 luoric ccuser 1201 Dec 11 14:03 [00mtel.log[0mr
-rwxrwxr-x 1 luoric ccuser 153 Dec 13 13:13 [00;32mterm[0mr
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m "
send -- "exitr"
expect eof









share|improve this question























  • Don't use autoexpect unless you know exactly what you're doing.
    – Emily E.
    Dec 19 at 3:17










  • Autoexpect records exactly what you typed, and exactly what you saw. You saw colourized text thanks to your shell profile's ls alias, and autoexpect dutifully wrote the terminal colour codes into the file. When I use autoexpect, I always immediately edit the resulting script and remove probably 95% of the contents -- you generally just want to determine what the prompts are so you can use them as the expect patterns.
    – glenn jackman
    Dec 21 at 22:08














0












0








0







I use autoexpect generated a script.exp. see following.



how to understand



expect -exact " r
Type ha for help on aliasesr
r
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m " ?



and after I run script.exp. I got "ls" and "ls -l" result correctly.
and get command line prompt. but when I hit enter. there is no command line prompt. I have to use ctrl C, to exit so I can continue enter command from terminal.



What I'm missing?



#!/usr/bin/expect -f
#
# This Expect script was generated by autoexpect on Tue Dec 18 09:42:08 2018
# Expect and autoexpect were both written by Don Libes, NIST.
#
# Note that autoexpect does not guarantee a working script. It
# necessarily has to guess about certain things. Two reasons a script
# might fail are:
#
# 1) timing - A surprising number of programs (rn, ksh, zsh, telnet,
# etc.) and devices discard or ignore keystrokes that arrive "too
# quickly" after prompts. If you find your new script hanging up at
# one spot, try adding a short sleep just before the previous send.
# Setting "force_conservative" to 1 (see below) makes Expect do this
# automatically - pausing briefly before sending each character. This
# pacifies every program I know of. The -c flag makes the script do
# this in the first place. The -C flag allows you to define a
# character to toggle this mode off and on.

set force_conservative 0 ;# set to 1 to force conservative mode even if
;# script wasn't run conservatively originally
if $force_conservative
set send_slow 1 .1
proc send ignore arg
sleep .1
exp_send -s -- $arg



#
# 2) differing output - Some programs produce different output each time
# they run. The "date" command is an obvious example. Another is
# ftp, if it produces throughput statistics at the end of a file
# transfer. If this causes a problem, delete these patterns or replace
# them with wildcards. An alternative is to use the -p flag (for
# "prompt") which makes Expect only look for the last line of output
# (i.e., the prompt). The -P flag allows you to define a character to
# toggle this mode off and on.
#
# Read the man page for more info.
#
# -Don


set timeout -1
spawn $env(SHELL)
match_max 100000
expect -exact " r
Type ha for help on aliasesr
r
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m "
send -- "lsr"
expect -exact "lsr
[0m[00;32manswerbot[0m [00;32mexecmds.sh[0m [00;32mexecmds.sh.exp[0m [00;32mgdb.sh[0m [00min[0m [00mnohup.out[0m [00;32mquestions[0m [00;32mscript.exp[0m [00mspawn[0m [00;32mstb.sh[0m [00;32mtarget.exp[0m [00;32mtarget.sh[0m [00;32mtel[0m [00mtel.log[0m [00;32mterm[0mr
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m "
send -- "ls -lr"
expect -exact "ls -lr
total 56r
-rwxrwxr-x 1 luoric ccuser 256 Dec 10 14:26 [0m[00;32manswerbot[0mr
-rwxrwxr-x 1 luoric ccuser 264 Dec 13 17:07 [00;32mexecmds.sh[0mr
-rwxrwxr-x 1 luoric ccuser 424 Dec 13 17:13 [00;32mexecmds.sh.exp[0mr
-rwxrwxr-x 1 luoric ccuser 118 Dec 17 13:44 [00;32mgdb.sh[0mr
-rw-rw-r-- 1 luoric ccuser 8 Dec 10 12:13 [00min[0mr
-rw------- 1 luoric ccuser 6920 Dec 14 15:35 [00mnohup.out[0mr
-rwxrwxr-x 1 luoric ccuser 160 Dec 10 14:30 [00;32mquestions[0mr
-rwxrwxr-x 1 luoric ccuser 0 Dec 18 09:42 [00;32mscript.exp[0mr
-rw-rw-r-- 1 luoric ccuser 0 Dec 13 12:56 [00mspawn[0mr
-rwxrwxr-x 1 luoric ccuser 103 Dec 10 14:41 [00;32mstb.sh[0mr
-rwxrwxr-x 1 luoric ccuser 463 Dec 17 14:57 [00;32mtarget.exp[0mr
-rwxrwxr-x 1 luoric ccuser 140 Dec 17 13:50 [00;32mtarget.sh[0mr
-rwxrwxr-x 1 luoric ccuser 864 Dec 17 11:46 [00;32mtel[0mr
-rw-rw-r-- 1 luoric ccuser 1201 Dec 11 14:03 [00mtel.log[0mr
-rwxrwxr-x 1 luoric ccuser 153 Dec 13 13:13 [00;32mterm[0mr
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m "
send -- "exitr"
expect eof









share|improve this question















I use autoexpect generated a script.exp. see following.



how to understand



expect -exact " r
Type ha for help on aliasesr
r
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m " ?



and after I run script.exp. I got "ls" and "ls -l" result correctly.
and get command line prompt. but when I hit enter. there is no command line prompt. I have to use ctrl C, to exit so I can continue enter command from terminal.



What I'm missing?



#!/usr/bin/expect -f
#
# This Expect script was generated by autoexpect on Tue Dec 18 09:42:08 2018
# Expect and autoexpect were both written by Don Libes, NIST.
#
# Note that autoexpect does not guarantee a working script. It
# necessarily has to guess about certain things. Two reasons a script
# might fail are:
#
# 1) timing - A surprising number of programs (rn, ksh, zsh, telnet,
# etc.) and devices discard or ignore keystrokes that arrive "too
# quickly" after prompts. If you find your new script hanging up at
# one spot, try adding a short sleep just before the previous send.
# Setting "force_conservative" to 1 (see below) makes Expect do this
# automatically - pausing briefly before sending each character. This
# pacifies every program I know of. The -c flag makes the script do
# this in the first place. The -C flag allows you to define a
# character to toggle this mode off and on.

set force_conservative 0 ;# set to 1 to force conservative mode even if
;# script wasn't run conservatively originally
if $force_conservative
set send_slow 1 .1
proc send ignore arg
sleep .1
exp_send -s -- $arg



#
# 2) differing output - Some programs produce different output each time
# they run. The "date" command is an obvious example. Another is
# ftp, if it produces throughput statistics at the end of a file
# transfer. If this causes a problem, delete these patterns or replace
# them with wildcards. An alternative is to use the -p flag (for
# "prompt") which makes Expect only look for the last line of output
# (i.e., the prompt). The -P flag allows you to define a character to
# toggle this mode off and on.
#
# Read the man page for more info.
#
# -Don


set timeout -1
spawn $env(SHELL)
match_max 100000
expect -exact " r
Type ha for help on aliasesr
r
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m "
send -- "lsr"
expect -exact "lsr
[0m[00;32manswerbot[0m [00;32mexecmds.sh[0m [00;32mexecmds.sh.exp[0m [00;32mgdb.sh[0m [00min[0m [00mnohup.out[0m [00;32mquestions[0m [00;32mscript.exp[0m [00mspawn[0m [00;32mstb.sh[0m [00;32mtarget.exp[0m [00;32mtarget.sh[0m [00;32mtel[0m [00mtel.log[0m [00;32mterm[0mr
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m "
send -- "ls -lr"
expect -exact "ls -lr
total 56r
-rwxrwxr-x 1 luoric ccuser 256 Dec 10 14:26 [0m[00;32manswerbot[0mr
-rwxrwxr-x 1 luoric ccuser 264 Dec 13 17:07 [00;32mexecmds.sh[0mr
-rwxrwxr-x 1 luoric ccuser 424 Dec 13 17:13 [00;32mexecmds.sh.exp[0mr
-rwxrwxr-x 1 luoric ccuser 118 Dec 17 13:44 [00;32mgdb.sh[0mr
-rw-rw-r-- 1 luoric ccuser 8 Dec 10 12:13 [00min[0mr
-rw------- 1 luoric ccuser 6920 Dec 14 15:35 [00mnohup.out[0mr
-rwxrwxr-x 1 luoric ccuser 160 Dec 10 14:30 [00;32mquestions[0mr
-rwxrwxr-x 1 luoric ccuser 0 Dec 18 09:42 [00;32mscript.exp[0mr
-rw-rw-r-- 1 luoric ccuser 0 Dec 13 12:56 [00mspawn[0mr
-rwxrwxr-x 1 luoric ccuser 103 Dec 10 14:41 [00;32mstb.sh[0mr
-rwxrwxr-x 1 luoric ccuser 463 Dec 17 14:57 [00;32mtarget.exp[0mr
-rwxrwxr-x 1 luoric ccuser 140 Dec 17 13:50 [00;32mtarget.sh[0mr
-rwxrwxr-x 1 luoric ccuser 864 Dec 17 11:46 [00;32mtel[0mr
-rw-rw-r-- 1 luoric ccuser 1201 Dec 11 14:03 [00mtel.log[0mr
-rwxrwxr-x 1 luoric ccuser 153 Dec 13 13:13 [00;32mterm[0mr
]0;luoric@linux-pc-64:/home/luoric/tmp[01;34mluoric@linux-pc-64[01;34m tmp $[00m "
send -- "exitr"
expect eof






bash expect






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 18 at 18:14









Rui F Ribeiro

39k1479129




39k1479129










asked Dec 18 at 18:05









user1932637

62




62











  • Don't use autoexpect unless you know exactly what you're doing.
    – Emily E.
    Dec 19 at 3:17










  • Autoexpect records exactly what you typed, and exactly what you saw. You saw colourized text thanks to your shell profile's ls alias, and autoexpect dutifully wrote the terminal colour codes into the file. When I use autoexpect, I always immediately edit the resulting script and remove probably 95% of the contents -- you generally just want to determine what the prompts are so you can use them as the expect patterns.
    – glenn jackman
    Dec 21 at 22:08

















  • Don't use autoexpect unless you know exactly what you're doing.
    – Emily E.
    Dec 19 at 3:17










  • Autoexpect records exactly what you typed, and exactly what you saw. You saw colourized text thanks to your shell profile's ls alias, and autoexpect dutifully wrote the terminal colour codes into the file. When I use autoexpect, I always immediately edit the resulting script and remove probably 95% of the contents -- you generally just want to determine what the prompts are so you can use them as the expect patterns.
    – glenn jackman
    Dec 21 at 22:08
















Don't use autoexpect unless you know exactly what you're doing.
– Emily E.
Dec 19 at 3:17




Don't use autoexpect unless you know exactly what you're doing.
– Emily E.
Dec 19 at 3:17












Autoexpect records exactly what you typed, and exactly what you saw. You saw colourized text thanks to your shell profile's ls alias, and autoexpect dutifully wrote the terminal colour codes into the file. When I use autoexpect, I always immediately edit the resulting script and remove probably 95% of the contents -- you generally just want to determine what the prompts are so you can use them as the expect patterns.
– glenn jackman
Dec 21 at 22:08





Autoexpect records exactly what you typed, and exactly what you saw. You saw colourized text thanks to your shell profile's ls alias, and autoexpect dutifully wrote the terminal colour codes into the file. When I use autoexpect, I always immediately edit the resulting script and remove probably 95% of the contents -- you generally just want to determine what the prompts are so you can use them as the expect patterns.
– glenn jackman
Dec 21 at 22:08











1 Answer
1






active

oldest

votes


















0














As a (formatted) followup to my comment, this is the actual take-away from that autoexpect script:



#!/usr/bin/expect
set prompt "$[00m $"
spawn bash
expect -re $prompt
send -- "lsr"
expect -re $prompt
send -- "ls -lr"
send -- "exitr"
expect eof


That's what I mean about removing 95%.




To actually answer your question, if you want to interact with the spawned shell, change



expect eof


to



interact


That stops the scripted interaction and puts the user in command.






share|improve this answer






















    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "106"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f489734%2fautoexpect-script-exp%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    As a (formatted) followup to my comment, this is the actual take-away from that autoexpect script:



    #!/usr/bin/expect
    set prompt "$[00m $"
    spawn bash
    expect -re $prompt
    send -- "lsr"
    expect -re $prompt
    send -- "ls -lr"
    send -- "exitr"
    expect eof


    That's what I mean about removing 95%.




    To actually answer your question, if you want to interact with the spawned shell, change



    expect eof


    to



    interact


    That stops the scripted interaction and puts the user in command.






    share|improve this answer



























      0














      As a (formatted) followup to my comment, this is the actual take-away from that autoexpect script:



      #!/usr/bin/expect
      set prompt "$[00m $"
      spawn bash
      expect -re $prompt
      send -- "lsr"
      expect -re $prompt
      send -- "ls -lr"
      send -- "exitr"
      expect eof


      That's what I mean about removing 95%.




      To actually answer your question, if you want to interact with the spawned shell, change



      expect eof


      to



      interact


      That stops the scripted interaction and puts the user in command.






      share|improve this answer

























        0












        0








        0






        As a (formatted) followup to my comment, this is the actual take-away from that autoexpect script:



        #!/usr/bin/expect
        set prompt "$[00m $"
        spawn bash
        expect -re $prompt
        send -- "lsr"
        expect -re $prompt
        send -- "ls -lr"
        send -- "exitr"
        expect eof


        That's what I mean about removing 95%.




        To actually answer your question, if you want to interact with the spawned shell, change



        expect eof


        to



        interact


        That stops the scripted interaction and puts the user in command.






        share|improve this answer














        As a (formatted) followup to my comment, this is the actual take-away from that autoexpect script:



        #!/usr/bin/expect
        set prompt "$[00m $"
        spawn bash
        expect -re $prompt
        send -- "lsr"
        expect -re $prompt
        send -- "ls -lr"
        send -- "exitr"
        expect eof


        That's what I mean about removing 95%.




        To actually answer your question, if you want to interact with the spawned shell, change



        expect eof


        to



        interact


        That stops the scripted interaction and puts the user in command.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        answered Dec 22 at 3:15


























        community wiki





        glenn jackman




























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Unix & Linux Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f489734%2fautoexpect-script-exp%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown






            Popular posts from this blog

            How to check contact read email or not when send email to Individual?

            Bahrain

            Postfix configuration issue with fips on centos 7; mailgun relay