Minimal Shell by Spock (Oscar Portela Arjona) --------------------------------------------- Hi, welcome to the info file of the minimal shell (msh), a little linux shell designed for those of you who don't need most of the high level functions of the actual shells and want to save some memory. Actually this stuff is mostly tested, but if somehow it burns out your computer, eats your dog, escapes away with your girlfriend or anything else not very pleasant, I'm not responsible at all. ;-) You can use it freely and even modify and distribute as long as you mention me both in the code and in the documentation (something like "based on the Minimal Shell by Spock (Oscar Portela Arjona)" will be right). Also, if you make modifications to it and obtain an even more little program, please send me it by e-mail. As you can imagine, there are lots of things this shell can't manage, but, as far as I know (and I know it pretty well ;-) it's abilities cover: - Execution of programs (I have thinking of wiping out this for saving even more space ;-) - Background execution. - Input, output and error redirection from/to files. - IPC (Interprocess comunication) using pipes. - Internal commands (well, it only supports the "cd" and "exit" commands but... who needs anything else? ;-) - Printing of the current working directory in the prompt. The sintax is pretty similar to other shells one: you write the command you want to execute using blank spaces to separe the diferent options you want to pass to the command and the '|' character to separe the different commands to be interconnected by pipes. Also you can use the '<', '>' and '>&' strings followed by a file name to redirect inputs or outputs and '&' to force background execution. As a tradeoff for the size saving, you will never get a 'sintax error' when using this shell. Instead, the command line you entered will be "fixed" to a correct one: - Any redundant '|', '<' or '>' will be treated as not present. Examples: "ls || grep m | | >>>>> t" -> "ls | grep m > t" "cat < my | more "cat | more < myinput" - The '&' character will change to the next descriptor redirection if entered after a '<' or '>' and activate the background execution otherwise. Examples: "cat & "cat & < in > out >& err" "cat "cat out err & < in" - The 'cd' command will accept only the first parameter it receives, and will change to the HOME directory if there is no parameter at all. Example: "cd here andhere andheretoo" -> "cd here" - The exit command will ignore any parameter. Well, I think that's all, if you have any question, comment, or just wanna an autograph you can contact me at any of these e-mail adresses: - spockid@geocities.com - portela@bbvnet.com - e970361@zipi.fi.upm.es I hope you will enjoy this little contribution. Spock (Oscar Portela Arjona) Coder of the Infinite Darkness Demogroup Infinite Darkness Web: http://www.geocities.com/SiliconValley/Peaks/7116/