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/
