|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
You don't need a fax machine to get faxes. Get a fax-to-email fax number from CallWave. Try it free.
|
|
#1
|
|||
|
|||
|
automatically pipe text to a program
Hi there, I have a little prgram that executes commands. One of the commands involves a program that has the format as follows:
#prog please enter A: [user text 1] please enter B: [user text 2] please enter C: [user text 3] -- results -- # Can you think of a way to automatically send [user text i] from the command line. Thanks |
|
#2
|
|||
|
|||
|
You get all params from the command line in the vars $0, $1, $2, ..., $0 being the file name. Of course this makes it impossible for the user to give only the 1st and 3rd param while leaving the 2nd empty.
__________________
PHP manual | MySQL manual | Apache docs | Linux Documentation Project | Free Software Foundation Smart Questions HOWTO | PHP security | PHP FAQ | Posting HOWTO Wikipedia | English dictionary | Google | News | RFCs Thus Spoke Zarathustra | A Skeptic's Guide to Christianity | Project Gutenberg | Skeptic's Annotated Bible ParEcon | Marxists Internet Archive | The Memory Hole | Landover Baptist | DHMO Research Universal Declaration of Human Rights | UN Charter | Geneva Conventions Sinfest | Chopping Block | Filthy Lies | Bob the Angry Flower | How to Shoot Yourself In the Foot |
|
#3
|
|||
|
|||
|
What I mean is that my program runs commands as if they were at teh command prompt and there is a program that doesn't use params but requires the user to type them in.
Basically I'm writing a program that does some automation, a similar example would be writing a script like such: setPassword $username$ $password$ which would then run the unix passwd command |
|
#4
|
|||
|
|||
|
Assuming that the user inputs are separated by the return key, you can simply echo the stuff you get from the user with some newlines into a temporary file and pass that to the program's stdin.
Like this: Code:
echo "" > /tmp/tmpinput chmod 700 /tmp/tmpinput echo "$1" > /tmp/tmpinput echo -e "\n" > /tmp/tmpinput # etc. myprog < /tmp/tmpinput rm /tmp/tmpinput I don't know if it works, though. Btw: I hope you took passwd just as an example. You shouldn't try to do it really with that or any other security-related command. |
|
#5
|
|||
|
|||
|
Yeah passwd's just an example. It works fine, thanks.
|
![]() |
| Viewing: Dev Shed Forums > Operating Systems > Linux Help > automatically pipe text to a program |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|
|