Is there such a thing as an object-oriented shell for Linux?

I've been futzing around with aliases and functions to customize bash  
to my liking.  For example, here is a list of aliases that I created  
for working with aliases and directories:

alias alias.delete='unalias'
alias alias.edit='$EDITOR ~/.aliases.bash'
alias alias.list='alias'
alias alias.new='alias'
alias alias.reload='. ~/.aliases.bash'
alias alias.save='alias > ~/.aliases.bash'

alias dir.change='cd'
alias dir.contents='ls'
alias dir.current='pwd'
alias dir.delete='rmdir'
alias dir.list='ls'
alias dir.move='mv'
alias dir.new='mkdir'
alias dir.remove='rmdir'
alias dir.rename='mv'
alias dir.properties='stat'

One of the nice features of having aliases like this is consistency  
and discovery, and that it has an object.method structure similar to  
Java or Ruby.  For example, the method to create a new alias  
(alias.new) is the same name as the method to create a new directory  
(dir.new).   The same goes for the methods to list and delete those  
"objects."  To discover what methods are available for an "object"  
press tab twice after typing the name of the object.  For example, to  
discover what methods are available for directories, type 'dir.' and  
then press tab twice.  I've created similar aliases and functions for  
other shell objects: files, users, system settings (e.g. date), and  
variables.

Admittedly, this is a hack.  "alias." and "dir." aren't really  
objects but rather just a naming convention I've chosen, and even  
then they're probably closer to being classes and not objects.

Which brings me back to my question: is there an object-oriented  
shell for linux?

Regards,
- Robert
http://www.cwelug.org/downloads
Help others get OpenSource software.  Distribute FLOSS
for Windows, Linux, *BSD, and MacOS X with BitTorrent


 
_______________________________________________
CWE-LUG mailing list
[email protected]
http://www.cwelug.org/
http://www.cwelug.org/archives/
http://www.cwelug.org/mailinglist/

Reply via email to