Writing a Unix Shell
I have a pretty good idea for a shell but I don&#x27;t know when I&#x27;ll ever find time to implement it.<p>The idea is that the shell should be able to optimize pipelines. Pipeline here meaning a chain of commands piped into one-another.<p>So if you have a pipeline like<p><pre><code>    grep ^2017-05-29 &#x2F;var&#x2F;log&#x2F;somefile | grep -v &#x27;INFO|WARN&#x27; | tail -n5 | cut -f1 -f3
</code></pre>
Then the idea is that instead of piping the whole result from command to command, your shell would compile a set of commands into a single program and run that.<p>Now you might say that that sounds like it goes against the Unix philosophy, but actually it doesn&#x27;t need to. If all of the core utilities were implemented in such a way that their logic could be extracted without duplication of code then the shell can still be doing &quot;one thing and one thing well&quot;.<p>---<p>Another idea I have is to make these core utilities pipe objects instead of text, like on Windows. I am very fond of bash but I think one thing that Microsoft seems to have done right is to have the idea of being able to work on objects in PowerShell. But I don&#x27;t want PowerShell. I want a mostly Unix shell, except, as I said, with objects.<p>I just wish I had more time :(