UnixNature - LeFreq/Singularity GitHub Wiki

The Unix design philsophy is a bottom-up approach of many loosely-coupled, modular commands that can be built-up into arbitrarily-complex applications that do everything.

XXX

It does this through defining an interconnection operator "|", the pipe operator to standardize all data flows into the same operation. This can be generalized to other nodes, such that a pipe to a neighboring node will automatically send it to their console. There are also the directional operators > and < which direct flows of data. One could also add an indexing operator [index], such that a particular record of a file can be output readily. This index could be a text or numeric index, with files defined with the index as the first-field. So, if one is in the etc directory, one can get the user record for user "superhero" with the command-line passwd[superhero].

Further, the data itself can be defined regularly, such that space is used as a field-separator (mostly likely the best unix field separator, with regular quotes(") around fields with spaces), line breaks for record-separation, files for table separation, and directories as database separators. A few well-defined data codes, coupled with a few well-thought operators, makes a pretty complete, and very consistent set of abilities to grow. To scale the system, you only need an ability to name a set of operations you've now defined with these.

Each "shell script" file, then, should be defined consistently to handle the four operators, with the pipe handled by the operating system.

1: command-name(%in, %out, [optional]%index, [optional]%getstate) 2: "Help messaage" (and documents your function) 3: the actual work...

Each needs to define how to handle the use of these operators after a command-name. A %index name can be used to grab any index data. If this is not defined a error is issued. %in can handle the input, %out for output. A getstate operator would work for shell scripts that are set up as daemons.

>> should append data to the end of the existing file or create it if it doesn't exist.

A final operator is the getstate operator to add to unix, the ?. With this you can query users, files, nodes on the network, simply. ?filename could give you the size and permission, listed as a record.

When you genera

⚠️ **GitHub.com Fallback** ⚠️