Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
The purpose of theis project is to create a pseudo-linux shell that allows users to run processes in arbitrary random graphs as opposed to the pipelines that the current linux shells force them into. The current version only allows for the --rdonly (opens a file read only mode) --wronly (opens a file in write only mode) and --cmd (runs a linux command on specified file descriptors). For example, if my command was ./simpsh --rdonly in.txt --wronly out.txt --wronly err.txt --cmd 0 1 2 cat, the executable would take the text from in.txt, put it in out.txt, and output any error log messages to err.txt. This is a work in progress, but the end goal is to be able to do something like this: simpsh \ --rdonly a \ --pipe \ --pipe \ --creat --trunc --wronly c \ --creat --append --wronly d \ --command 0 2 6 sort \ --command 1 3 6 cat b - \ --command 4 5 6 tr A-Z a-z \ --wait This example invocation creates seven file descriptors: A read only descriptor for the file a, created by the --rdonly option. The read end of the first pipe, created by the first --pipe option. The write end of the first pipe, also created by the first --pipe option. The read end of the second pipe, created by the second --pipe option. The write end of the second pipe, also created by the second --pipe option. A write only descriptor for the file c, created by the first --wronly option as modified by the preceding --creat and --trunc. A write only, append only descriptor for the file d, created by the --wronly option as modified by the preceding --creat and --append options. Run command make to build the files.