- To: slug@xxxxxxxxxxx
- Subject: [SLUG] Re: Unix Shells
- From: Malcolm Johnston <drmjj@xxxxxxxxxxxxxxxx>
- Date: Mon, 24 Aug 2009 08:18:52 +1000
- User-agent: KMail/1.9.4
I sent this to Marghanita regarding her query about the "Unix shell".
I'm not quite sure what you are referring to. On my distro of Linux,
Slackware 11, I've got a number of shells, "bash", "tcsh", "zsh", and some
more basic shell command interpreters like "ash". These are descendants of
the Bourne, C, and Korn shells. I do a certain amount of shell programming,
generally in "bash", and despite various differences between the shells I've
mentioned, they're all very powerful tools, with sophisticated regular
expression matching, data and file redirection, and so on. Writing a shell
script can also help to develop an algorithm, which you then might implement
in a compiled language like C.
True, there are scripting languages like "Perl" with, say, even more powerful
facilities for pattern matching, and of course there is C, in which most, if
not all, these applications are written in. Still, the shell is a very
useful way of stringing bits of custom software together, if you work a lot
with text (transcripts mostly), as I do; also, on my distro anyway, and on
Red Hat (Fedora now) when I last used it, most of the interactive
installation software consists of shell scripts. (Once again, there are also
package managers, like "rpm", which are specialized for these types of job).
That said, I counted over 250 instances of "#!/bin/sh" (i.e. shell scripts) in
my "/usr/bin" directory. In addition, when you call just about any
application on a Unix platform, a shell is spawned to get it running.
I guess, its really a matter of horses for courses, and what you use obviously
depends on what you do. But I wouldn't think that the Unix shell in general
has suffered any demise.
Does that throw any light on the question? Forgive me if I've totally
misinterpreted it, any details you have to get me on the right track would be