mksh is the MirBSD enhanced version of the Public Domain Korn shell which is largely similar to the original AT&T ksh. It includes bug fixes and improvements in order to produce a modern, robust shell good for interactive and especially script use. It has UTF-8 support and extended compatibility to other modern shells. It builds via an ūber-portable script.

mksh compiles on: MirOS gcc3+pcc+SUNWcc, MidnightBSD gcc3+pcc; BSD/OS gcc1+2; DragonFly,FreeBSD,NetBSD,OpenBSD gcc3; AIX gcc4+xlC9; DEC OSF/1,ULTRIX 4.5 MIPS, Tru64 4/5.1 CompaqC+gcc2; HP-UX PA-RISC/IA64 gcc3+aCC; IRIX gcc3+MIPSpro; MacOSX,iPhone gcc3/4+llvm-gcc; QNX; Solaris 8/10 gcc3+SUNWcc; Interix gcc+msc; Cygwin gcc; UWIN-NT dmc+msc+Borland; GNU/Linux/kFreeBSD/HURD dietlibc+libc5+µClibc gcc2/3/4+icc+llvm-gcc+nwcc+tcc+TenDRA; …

Journal Entries

Avatar

LinuxTag We have cool https://eurynome.mirbsd.org/~tg/pub/buttons.png for the LinuxTag: mnbsd (MidnightBSD), Glenda (Plan 9), grml, MirBSD and mksh. mirabilos — 17 days ago

Avatar

mksh R38c is out, fixes more crashes and QNX and has been tested with (a fixed) klibc on Linux. mirabilos — 29 days ago

Avatar

snapshot Building a new MirBSD snapshot right now: RCS/source done yesternight, i386/binary now too, sparc/binary expected by next weekend ☺ There will be no mksh R37d in foreseeable future, so please update to R37c (unless you’re already in the R37* series). grml also got a new “bsd4grml” edition… mikap likes my bootloader ☻ mirabilos — 3 months ago

Avatar

mksh can now be nicknamed “MidnightBSD Korn Shell” but also is default /bin/sh in mnbsd – yay! They’re using R37 already, with all the standards compliance fixes, and are part of an elitist group (Debian, MirBSD, FreeWRT do so too). Good for all of ’em! mirabilos — 3 months ago

Avatar

-current track – Good news for… Debian: mksh now behaves even better as /bin/sh; FreeWRT, Beastiebox: mksh needs even less RAM! Everyone: mksh’s core is now fully MirOS licenced (only libshouldbeinlibc – arc4random, setmode, strlcpy – aren’t, but they do not belong to mksh but to OpenBSD or similar) mirabilos — 4 months ago

See All Journal Entries

Ohloh Analysis Summary

Updated 16 May 2009 19:10 UTC


Ratings & Reviews

Community Rating
5.0/5.0

Based on 2 user ratings.

Your Rating

Click to rate this project.

Links

0 links submitted so far. Submit your own links.

News

Edit RSS feeds.

    RFH: mksh development

    mksh development is mostly done by
    a single person, "the mksh team" (as seen on Ubuntu forums, out of all
    places!), a.k.a. me, myself and I. Sometimes, actual users report bugs
    or even send in patches. I keep track of oksh's ... [More] development as well, of
    course. But there are times I would like to get feedback on issues from other people
    working on pdksh or its descendants. I mailed, for that specific issue
    in question, the Debian developer who created the original patch which
    addressed the scenario except for a corner case (interestingly, as the
    world is small, discovered in a Debian(!) init script from a package
    maintained by aforementioned formorer, on a DomU running Lenny at work - don't underestimate the effect
    of synergy) but would really like to talk to some of the OpenBSD devs
    about it; they mostly know what they're doing, even if I worked on ksh
    for longer than most of them, many eyes do help, and most of the time
    I do not know what I'm doing XD

    [Update] There's also the issue of inter-(POSIX-compatible)-shell
    discussion. For instance, "set -u" vs "$@", which has come up in Debian #522255 because GNU
    bash4 decided to switch to the behaviour used by the Bourne shell
    (from V7 to SVR4.2), all Korn shells, ash and its descendents (like
    posh) except dash, to not treat it specially. (Funny too how they
    suggest 「${@:-}」 or 「${@:+}」 instead of 「${1+"$@"}」 (from the
    GNU(!) autoconf texinfo documentation) as replacements.) Oh well,
    zsh also behaves like bash2/3 and dash, but then, it's not even a
    POSIX compatible shell. *sigh* Now I wonder what AT&T ksh93 will
    do and a
    confirmation if it's indeed being forcibly changed by POSIX (IMHO,
    they could at least "agree to disagree", like they usually do, and make
    it vendor defined, so that scripts could not depend on it - "set -u" is
    something I don't use anyway).

    So if you're interested in the further development of MirBSD, The
    MirOS Project, one of its subprojects, such as The MirPorts Framework,
    mksh(1), MirMake, even jupp-2.8 or jupp-3.x, please talk to me.

    [Update] Do the same for POSIX compatible shell discussion, if you
    are going to take mksh, its goals, needs and history seriously. (Yes,
    it also has bugs, like a non-recursive parser troubling COMSUBs, but
    they may be fixed long-term, especially if people contribute. Ideas,
    at the very least.)

    Thanks in advance. [Less]

    mksh R38c released

    The MirBSD Korn Shell R38c has been
    released. This is one of the everyone-should-upgrade versions because
    of the fixes for crashes and the
    likes. Read the online manual page in HTML – mksh(1) – or as PDF for printing.

    mksh R38 released

    The MirBSD Korn Shell R38b has been
    released. It adds portability to QNX 6.4, a built-in base64 decoder and
    encoder written in mksh itself, and most importantly fixes a regression
    introduced in R38 causing memory corruption.

    mksh user feedback appreciated

    With another mksh release out, and
    the first feedback (actually a patch with explanation – naaina
    ported it to the newly released QNX 6.4, 10x) already in, I would like
    to request user feedback if mksh compiles okay for them, the ... [More] regression
    test suite results, and if it does its job – especially on the
    more obscure platforms. Current plans for R36b are mere portability and
    bug fixes, and maybe some more of the Syllable, Plan 9 or Haiku issues
    touched if someone does it.

    On the other hand, I'm really glad I get feedback, even patches from
    people I've never heard of beforehand, which even touch documentation
    as it should be. One had the luck of adding a feature that had been,
    independently, requested in IRC mere
    days beforehand. You're welcome ;)

    Let me plug a link to the fine manual page mksh(1) or its PDF version.

    Thanks to all users as well, we cracked the 100 in Debian popcon a
    few days ago (102), even though it's down a tad right now, to 94.

    Plans are to get promoted to Arch Linux Community from AUR, included
    into Mac OSX, Minix, pkgsrc® (as bootstrap shell) and QNX by default,
    and the usual world domination in general. Hey, I'm fixing dietlibc
    bugs on Launchpad now, so low I've sunk, so gimme some rest. [Less]

    mksh R38 released

    The MirBSD Korn Shell R38 has been
    released. Most prominently, our developer wbx@ (Waldemar Brodkorb) has
    suggested to allow for expansion of “!string” style lines, and several
    things (string lengths, substring expansion) have been made more aware
    of UTF-8. Grab it as long as it’s hot!

Read all mksh articles…

Download Page
4 downloads

Who uses mksh?

Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar

Who contributes to mksh?

Avatar Avatar Avatar Avatar Avatar Anon32 Anon32 Anon32
I'm a contributor

Who manages mksh?

Avatar
I'm a manager

Where in the world?




People who use mksh also use:


Project Cost

This calculator estimates how much it would cost to hire a team to write this project from scratch. More »
Include
Codebase 83,998
Effort (est.) 21 Person Years
Avg. Salary $ year
$ 1,152,313