Table of contents
Channel information
The #ksh channel on the Freenode PDPC IRC network is dedicated to the Korn Shell in all its variations, primarily the current AT&T Korn Shell ksh93, but others, such as mksh, pdksh, MKS ksh, AT&T ksh88, and various OS vendors’ Korn Shell variants are also considered on topic.
The channel founder is twkm. This webpage is maintained by mirabilos.
To connect, please point your favourite IRC client to either the generic server round-robin irc.freenode.net or one of the more specific ones listed on the Freenode website, such as irc.eu.freenode.net or irc.ipv6.freenode.net, or, of course, a specific server like calkins.freenode.net (IPv6, Italy) or kornbluth.freenode.net (IPv4, Germany). The port to use is 6697 (or 7000 or 7070) if you can do SSL, 6667 otherwise (discouraged). Tor users can connect to mejokbp2brhw4omd.onion (anonymous hidden Tor service) or p4fsi4ockecnea7l.onion (nick/pass authenticated, see the website for details).
Guidelines
Don’t ask to ask, just ask. If someone knows an answer to your question, he/she will likely answer, otherwise not. Stay around for a (possibly long) time after asking, since people may not be awake yet (due to different time zones) or currently at work and not able to answer immediately. Honour the Netiquette. Ask questions the smart way. Do not spam the channel; rather use so-called “nopaste” sites to put your lines there and only paste the link you get and a short summary to the channel.
Known “nopaste” sites
Korn Shell versions
This information is current as of: 2012-04-07 (7 April 2012)
AT&T Korn Shell: latest is ksh93u+ dated 2012-02-29 (29 February 2012); actively developed
MirBSD Korn Shell: latest is mksh R40f, dated 2012-04-06 (6 April 2012); link to active development trunk changelog
Public Domain Korn Shell: latest is pdksh-5.2.14 dated 1999-07-13 (13 July 1999)
Links
This is the homepage for the original (AT&T) Korn Shell, where sources and binaries for ksh93 as well as information are available. It is a modern shell with many features for both interactive and script use, extensible, and can be used as shared library. It’s also locale aware and thus Unicode ready on most modern operating systems.
This is the homepage of the MirBSD Korn Shell (mksh), which is the actively developed successor of pdksh. The focus is a compact yet featureful shell, so several of the ksh93/bash/zsh extensions are present, while others, such as floating point arithmetic, will not be provided, even though the aim is as generic as ksh93’s (interactive and script use; embedding is not yet possible) and to be very portable, also to include some extensions of its own. It’s Unicode aware.
This is the homepage of the Public Domain Korn Shell (pdksh), where last development happened in 1999, when the original Korn Shell used to be commercial/proprietary software.
Beta versions of the original Korn Shell can often be found here.
This is OpenBSD’s version of pdksh, which has been enhanced and bugfixed relative to it and eventually spawned mksh. It has been ported to other operating systems several times: oksh in DeliLinux, OpenKSH by FreeBSD’s Tom McLaughlin, etc.
This is Debian’s packaging of pdksh, which includes several fixes from oksh and some of their own. These that were not bogus found their way into mksh. It spawned posh (the POsix SHell), which attempts to use pdksh code with Korn Shell features removed to provide a viable /bin/sh for Debian (and has since begun to take patches from mksh).
ksh88 was the AT&T Korn Shell before ksh93 happened. It lacks many features from later pdksh versions and especially pdksh/mksh. It’s mainly suited for scripting these days, and comes with many commercial/proprietary operating systems.
The MKS ksh is the one David Korn lost some disapproving words about. Nevertheless, it implements some part of the Korn Shell language and is available for certain systems.
getshver is a script that tells you which shell it runs under. It currently supports most Bourne Shell, POSIX Shell, Korn Shell, C Shell variants as well as the TCL Shell.
Morris Bolsky, The KornShell Command and Programming Language
Prentice Hall PTR, xvi + 356 pages, 1989. Covers ksh88.
Morris I. Bolsky and David G. Korn, The New KornShell Command and Programming Language (2nd Edition)
Prentice Hall PTR, xvi + 400 pages, 1995. Covers ksh93; co-authored by its creator.
Stephen G. Kochan and Patrick H. Wood, UNIX Shell Programming
Hayden, Revised Edition, xi + 490 pages, 1990.
IEEE Standard for Information Technology – Portable Operating System Interface (POSIX)
IEEE Press, Part 2: Shell and Utilities, xvii + 1195 pages, 1993.
Online version of the POSIX/SUSv4 standard on shells.
Bill Rosenblatt, Learning the Korn Shell
O'Reilly, 360 pages, 1993. It’s a good introduction and reference to ksh88; most of it (except the DEBUG trap related part) also applies to pdksh/mksh. The ridge between shell scripting and shell programming is surpassed a few times.
Bill Rosenblatt and Arnold Robbins, Learning the Korn Shell, Second Edition
O'Reilly, 432 pages, 2002. Second Edition of the famous ksh book from O’Reilly, targetting ksh93 this time.
Barry Rosenberg, KornShell Programming Tutorial
Addison-Wesley Professional, xxi + 324 pages, 1991. According to the old #ksh topic, this is a “good book”.
Homepage of the project attempting to integrate ksh93 in Solaris, replacing both ksh88 and their Bourne (nōn-POSIX) /bin/sh. (Although mirabilos thinks that the old ksh88 should not be available as /usr/bin/oksh but rather ksh88, due to oksh’s existence as pdksh derivate.)
[DRAFT] Bourne/Korn Shell Coding Conventions
Basic tutorial for shell scripting, with focus on ksh.
Korn shell scripting is something all UNIX® users should learn how to use. Shell scripting provides you with the ability to automate many tasks and can save you a great deal of time. It may seem daunting at first, but with the right instruction you can become highly skilled in it. This article will teach you to write your own Korn shells scripts.
Generic shell-related newsfeed.
Plethora of historic and recent information on shells on various unicēs, the shebang, urban legends, etc.
FAQ of the Usenet group comp.unix.shell
Rather polarising article about why the C Shell is not desirable.
Part of the GNU Autoconf manual dealing with how to make shell scripts portable (if desirable to not target one specific shell, such as ksh93 or mksh, and making that one portable). Interesting for archæologists as well.
Greg Wooledge’s Wiki ⇒ Notes on process management, such as, how to properly kill one. Read also other pages from the CategoryShell, although his KornShell page is somewhat out of date and doesn’t apply to mksh often.
RSS/Atom aggregator with topics related to the command line.
Uwe Waldmann’s lengthy, exhaustive guide to quoting correctly.
Short tutorial for correct quoting in the pre-POSIX Bourne Shell, as well as the C Shell.
11-page article in IBM developerWorks by M. Tim Jones; Summary: Pointing and clicking is fine for most day-to-day computing tasks, but to really take advantage of the strengths of Linux over other environments, you eventually need to crack the shell and enter the command line. Lots of command shells are available, from Bash and Korn to C shell and various exotic and strange shells. Learn which shell is right for you.
This page is hosted on the website of The MirOS Project, but not a part of it. However, mksh(1) is. Use memoserv on Freenode for sending “mirabilos” updates to this webpage.
