Shell

HomePage | RecentChanges | EditorIndex | TextEditorFamilies | Preferences

Showing revision 14
A Shell is a simple TextEditor that executes code on the fly. It is usually used to move files around or feed files to several text manipulation programs, or open them in more extensive editors. This is particularly true on Unix systems (and derivatives) where everything is considerd a file, and files are by preference human readable. Some people also use shells to start programs that have little to do with file manipulation, these would probably be better of with a graphical environment.

A typical shell uses a 'readline' library for input, these libraries in fact provide an stripped down editor that can only edit one line at a time. Most readline libraries either use a subset of the VI keybindings (this is even specified by the POSIX? standard for shells) or a subset of the Emacs keybindings. The bigger shells allow the user to choose between VI and Emacs keymaps.

Of course one can also execute shell commands from the most bigger text editors on unix, also most more advanced text editors have some kind of 'file browse' mode to manipulate the filesystem. So it can be considered to be a matter of taste whether you use a shell from your editor, or an editor from your shell.

Basicly we call our program a shell if it has job-control and handles text from stdin; and we call it a texteditor if it primarily handles text from files (typicly including a file-browse mode, but uses a 'shell out' construct for system commands).


Interesting definition. On mainframe systems, the "shell" if you will can be used as a FullScreenShell?. That is, it is possible to place the cursor anywhere on the screen and execute commands. This is somewhat analogous to cutting and pasting command lines except it is a bit more intuitive I think. The VM/CMS system, for example, has this capability.

Also, the concept of job control in UNIX systems (like Solaris or Linux) is a bit different than on other operating systems.

Finally, I think of the alternative shells that you might find on Unix and DOS that are based on NortonCommander? or XTREE?. These are FileManagers? that people stay in just like Shells.


HomePage | RecentChanges | EditorIndex | TextEditorFamilies | Preferences
Edit revision 14 of this page | View other revisions | View current revision
Edited March 23, 2005 1:39 pm (diff)
Search: