Channel page for #ksh

Sponsored by
HostEurope Logo

Channel page for #ksh

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 or one of the more specific ones listed on the Freenode website, such as or, or, of course, a specific server like (IPv6, Italy) or (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).


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: 2017-08-29 (29 August 2017)

AT&T Korn Shell: latest is ksh93v- (beta) dated 2014-09-29 (29 September 2014) and ksh93u+ (stable) dated 2012-08-01; download server unreachable, development unclear; the website claims “Note: ksh93 source is available on github.” which is untrue as there’s no code there or anything usable nor information

MirBSD Korn Shell: latest is mksh R56b, dated 2017-08-29 (29 August 2017); the previous bugfix was mksh R54, dated 2016-11-12 (12 November 2016); link to FAQ and to the active development tree changelog

mksh-os2 for OS/2: merged into mksh R55 upstream; binaries available from komh

mksh/Win32: latest is Beta 14 (based on mksh R39), dated 2013-06-29 (29 June 2013)

Public Domain Korn Shell: latest is pdksh-5.2.14 dated 1999-07-13 (13 July 1999)


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. Download

Beta versions of the original Korn Shell can often be found here.

Alpha versions of the original Korn Shell can often be found here.

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.

Questions you never knew you’d ask.

The MirOS Project normally uses eMail and IRC for bug handling. However, some people prefer a web application. Launchpad offered, so this is the mksh external bugtracker which such people can use. Its bugmail will also be sent to the mksh mailing list.

This site occasionally contains links to newer AT&T material than what’s available from the official sites.

Snapshots of the MirBSD Korn Shell can often be found here. Versions with an “i” before the date (yyyymmdd) are of the MAIN development branch, all others are of the stable bugfix branch.

Read about the currently published source and binary snapshot of the developing port of mksh(1) to native Win32 API.

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.

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.

SCO OpenServer™ documentation for sh (by Xinuos).

The Internet Archive (Wayback Machine) link of the last Unix sh manual page from SCO times.

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.

mirabilos’ getshver is a script that tells you which shell it runs under. It currently supports most Bourne Shell, POSIX Shell, Korn Shell, Z Shell, C Shell variants as well as the TCL Shell.

Sven Mascheck also has a shell detector, with emphasis on shells without any version variable; mostly supports old Bourne-compatible shells including POSIX and Korn Shell and some Z Shell but no C Shell or TCL.

This one is a tad hilarious, as it’s got support for things like DOS CMD.EXE and possibly COMMAND.COM, Tcl, Perl, Python and whatnot. It’s a tad terse on the Korn Shell side, though.

shbot is a bot that takes from an IRC channel or query commands of the form…

	k# print ${.sh.version}
	m# print $KSH_VERSION

… runs them in a throw-away VM and show the result back to the requestor.

The original evalbot code might be of interest, as well as the current list of triggers for the shbot instance on Freenode. Query “sbot” to greybot to get what geirha says is the closest thing to documentation at the moment.

FAQ of the Usenet group

Rather polarising article about why the C Shell is not desirable.

Morris Bolsky, The KornShell Command and Programming Language

ISBN: 978-0-13-516972-8 (0-13-516972-0)

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)

ISBN: 978-0-13-182700-4 (0-13-182700-6)

Prentice Hall PTR, xvi + 400 pages, 1995. Covers ksh93; co-authored by its creator.

Stephen G. Kochan and Patrick H. Wood, UNIX Shell Programming

ISBN: 978-0-672-48448-3 (0-672-48448-X)

Hayden, Revised Edition, xi + 490 pages, 1990.

IEEE Standard for Information Technology – Portable Operating System Interface (POSIX)

ISBN: 978-1-55937-255-8 (1-55937-255-9)

IEEE Press, Part 2: Shell and Utilities, xvii + 1195 pages, 1993.

Bill Rosenblatt, Learning the Korn Shell

ISBN: 978-1-56592-054-5 (1-56592-054-6)

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

ISBN: 978-0-596-00195-7 (0-596-00195-9)

O'Reilly, 432 pages, 2002. Second Edition of the famous ksh book from O’Reilly, targeting ksh93 this time.

Barry Rosenberg, KornShell Programming Tutorial

ISBN: 978-0-201-56324-5 (0-201-56324-X)

Addison-Wesley Professional, xxi + 324 pages, 1991. According to the old #ksh topic, this is a “good book”.

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.

Overview of design (good and bad sides) and features of ksh, with the advent of the new ksh93, and some history, from David G. Korn himself.

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.

Plethora of historic and recent information on shells on various unicēs, the shebang, urban legends, etc.

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.

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.

RSS/Atom aggregator with topics related to the command line.

Generic shell-related newsfeed.

Loose collection of fragments of shell scripts and programmes of random usefulness, which may or may not work. The intent is to have a collection of code to aid those who learn by reading other peoples’ code by providing some examples of (hopefully) better than average quality.

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

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.

Documentation and source code project based on the Bourne Shell codebase. Maintained by J�rg/Jvrg/Joerg/Jörg Schilling.

Collection of ksh-related documents (links, books, etc.) similar to this one. Maintained by David G. Korn; some links may be stale.

Collection of Unix-related documents, with some sections on shells and related utilities.

FAQ for the Korn Shell, including which variants exist.


Content at AT&T moved: everthing that was under before is under now.

This page is hosted on the website of The MirOS Project, but not a part of it. However, mksh(1) is (but the original AT&T Korn Shell isn’t either). Use memoserv on the Freenode IRC network for sending “mirabilos” updates to this webpage.

MirOS Logo