10-18-2007
You need to read in a logical line, so a "\" followed by a new line continues.
Then you need to do macro expansion, so look for all "$" and expand as per environment variable.
I would then look for all commands between back quotes, run a subshell to execute the contents and expand the command with the stdout.
Then I would split the result based on pipes to work out what the actual processes are with arguments.
Then I would pull out the <,>,<< and >> tokens and do the appropriate IO redirection
Then I would look for a "&" and flag if I found that to say don't wait for result.
Finally I would setup the pipe line and do the chain of forks and execs.
Quite where you choose to detect "cd", "if", "while", "do" etc is a good question.
7 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
if somebody can help me pls.
i need the source code for a shell which compiles C or java programs.
i need a very short and simple one, just for the compiling part, in UNIX
Respect (4 Replies)
Discussion started by: zlatan005
4 Replies
2. UNIX for Dummies Questions & Answers
#!/usr/bin/m4
when running m4 scripts with "#!/usr/bin/m4" they are executed properly, but "#!/usr/bin/m4" is printed out - how to avoid it?
Thanks in advance. (5 Replies)
Discussion started by: Action
5 Replies
3. Programming
Hello guys - do you have any sample program implementing UNIX commands in an interpreter with Java? I can look up the simple ones such "ls" etc and then write my own commands.
I would appreciate it. (2 Replies)
Discussion started by: cmontr
2 Replies
4. Shell Programming and Scripting
Hi,
I am writing a shell script that connects to a remote server and performs some tasks on the server and exits.
Since i am using a ssh connection, i am using a "expect" utility to supply the password automatically (which is present within the script).
In order to use this utility, i need to... (3 Replies)
Discussion started by: sunrexstar
3 Replies
5. Shell Programming and Scripting
Hi. My name is Caleb (a.k.a RagingNinja) form the whited00r forums. (Whited00r makes custom firmware for iOS devices).
I have been learning and creating simple shells scripts. I have been recently using VIM for Windows or using VirtualBox to run the UBUNTU OS within VirtualBox to create my shell... (2 Replies)
Discussion started by: RagingNinja
2 Replies
6. Linux
Can you explain me what is ment by interpreter files ??
Why and how they are used?? (1 Reply)
Discussion started by: kkalyan
1 Replies
7. Shell Programming and Scripting
Hi,
Is it possible to choose the inerpreter conditionally.
For example, if whereis bash returns /usr/bin/bash then i need to choose #!/usr/bin/bash
else i need to use #!/usr/bin/sh.
Is it possible to achieve in a shell script?
Thanks (1 Reply)
Discussion started by: pandeesh
1 Replies