On 2008-03-19, Kyle Wheeler <[EMAIL PROTECTED]> wrote: > On Wednesday, March 19 at 05:08 PM, quoth Kyle Wheeler: > > Eh? The new process remains in control of the terminal as long as it > > wants (i.e. it can't give up control at any point). Here's the thing, > > though: when you pipe a message to a script, you're filling the > > standard input with the *message*. If you use typical shell prompting > > mechanisms, they'll all try to pull from standard input, which will > > either be the message or will be *closed* because you already slurped > > it up with something. So, you can't use standard input. > > What I meant to add here, but forgot, is that if you DO use standard > input, it will appear as though your script ran very quickly and then > lost control of the terminal.
Yes, you can have the script read user input from standard input--you just have to manage it. For example, I have a script that uses perl to extract a URL from the body of the piped message, then uses this command to connect the script's stdin to the controlling terminal, exec < /dev/tty then runs the w3m browser with the extracted URL. The exec command isn't actually required by w3m, but it is needed by vim if I launch vim from w3m. Regards, Gary
