You can build this whole dream using plan9 and show the world, you don't have to rewrite any of the utilities, just shape the calling convention to your liking. I bet you could even find the pattern and wrap the whole lot in a meta script, maybe even utilise an FS

fn mkdir {
   if(! ~ $#* 0)
      /bin/mkdir $*
ifs = '
'
   m = `{read}
    while(! ~ $#m 0) {
         ifs = ' '
         p = `{echo -n $m}
        /bin/mkdir $p
         ifs='
'
         m = `{read}
   }
}

with no newlines in directory names

*On Mon, Oct 5, 2009 at 2:04 PM, John Stalker <[email protected]> wrote:

`cat' would concatenate 0 files, i.e. ouptut nothing,

cat would copy stdin to stdout

`chmod 755' would set the permissions of no files to 755,

would read a list of files from stdin and change the modes

`cp foo/' would move no files to the directory foo,
would read a list of files from stdin and copy them.

`df' would show free disk space for no filesystems,
would read a list of file system names and df them.

`kill' would stop no processes,
would read a list of pids in and stop them.

`ln foo/' would hardlink no files into the directory foo,
would read a list of filenames in and ln them

`ls' would list no files (you would use `ls .' for the usual case),
would read a list of file names in and ls them.

`mkdir' would create no directories,
would read a list of file names in and mkdir them (I could really use this one)

`mv foo/' would move no files into the directory foo,
would read a list of file names in and mv them

`ps -U' would show no users' processes,
would read a list of user names in and ps them

`rm' would remove no files,
would read a list of file names in and rm them

and `sh' would execute no scripts in the Bourne shell.

would read a set of commands from stdin and ... oh wait it does this.

I prefer my version to your versions. I can see uses for them already.

ron



Reply via email to