Anyone who has used DOS will be familiar with the infinite capacity of batch files. The UNIX equivalent is shell scripting, which is far more flexible and far more sophisticated. Why would Windows users want to know about shell scripting? Scripts are widely used in Windows's various versions and come under a variety of names, but the principles derive from the shell language of UNIX. Moreover, there are UNIX tools available for Windows systems and which can be used either to provide shell-style interfaces or a UNIX environment (especially useful for learning UNIX). Anyone interested in the Windows tools will find details in Classic Shell Scripting; relevant URLs are: http://www.cywin.com (for Cygwin), http://www.delorie.com/djgpp/ (for DJGPP), http://www.mks.corn/ (for MKS Toolkit), and http://www.reearch.att.com/sw/tools/uwin/ (for AT&T UNWIN). The book's principal audience is "computer users and software developers who find themselves in a UNIX environment, with a need to write shell scripts". A 'UNIX environment' includes Linux and Mac OS X's Darwin. Linux servers are ubiquitous in network environments and a knowledge of scripting is essential to good administration. The most comprehensive and detailed text is O'Reilly's Classic Shell Scripting. Extensive use is made of example code to illustrate the discussions, but it is neither a tutorial nor a collection of solutions to specific problems. The authors provide a thorough explanation of how shell scripts can be used most effectively and be tuned to individual requirements. This is a valuable source of information about finding the right tool for any given task and how to put it to work. Many Linux users — especially those who have migrated from Microsoft Windows — have never developed a familiarity with the shell language. As Arnold Robbins, one of the book's authors, has observed, "There is a rush in the Linux and UNIX worlds to hide the command line away and do everything with graphical interfaces ... [which] ... is a shame: the underlying power of the shell and the UNIX utilities enable many things that just can't be done from a predefined, monolithic, non programmable GUI. The differences and capabilities of UNIX and Linux are what distinguish them from the monopolistic market leader. These abilities should be celebrated, publicised, and learned, not hidden away". Apart from being an essential resource for anyone who uses the Linux command line — especially on servers — Classic Shell Scripting is worth reading by those who want to improve their understanding of UNIX/ Linux.
Reprinted from the October 2005 issue of PC Update, the magazine of Melbourne PC User Group, Australia
|