Welcome to bradleyatkins.com
This Site is dedicated to the art of Korn Shell Development
As the title above suggests, this is the place to look at Korn Shell development in more depth than most introductory tutorial type sites. Like most UNIX / LINUX sites I do hope to expand the site into a useful source of example scripts and utilities for visitors to download, but more than that I hope to discuss in some depth good programming style and practice. The hope being that the many jobbing intermediate scripters out there will get the chance to raise the standard of their code and avoid the pitfalls and trauma poor coding inevitably brings with it.
This site will grow as I develop over the coming months a "Managed Unix Scripting Environment" or MUSE to coin an acronim.
Why Korn Shell? Well there are a number of reasons for writing UNIX / LINUX tools in korn shell: -
- Portability. Virtually every server found in the business community has ksh88 installed already and so no deployment issues arise when adopting korn shell as the primary development language.
- ksh88 is a very powerful development environment, probably far more so than you realise. There really isn't much you cannot implement with it.
- ksh93 would be an even better choice of course if only it had been widely adopted in the business community, but puzzlingly it has not been, even by corporations formed after 1993! However, although the code here is written to run under ksh88, it is all in fact written on my server running ksh93. So apart from warning about deprecated syntax here and there you should find it all runs on both shell versions.
One caveat about the code posted here is that when it comes to indentation, its a case of do as I say not as I do. One limitation of the content management system I am using is that it makes a mess of the indentation when I paste code into the web page. Also, due to the narrow width of the pages displaying sample code, I often step code over several lines to keep it all visible on screen. This is purely a limitation of displaying the code on a web page and not a suggested style of programming. This site is best viewed at full screen width.
At the time of writing this site is under construction and so many of the sections detailed below do not yet exist, however I hope to expand the site rapidly over the next few months so do make a point of dropping by again if the section of interest does not yet exist.
The site is divided into the following primary sections: -
- Coding Style - Under Construction
- Tool Design - Under Construction
- Environment and Utilities
- MUSE - Under Construction


