From ArchWiki
(Redirected from Ksh)

Merge-arrows-2.pngThis article or section is a candidate for merging with Command-line shell.Merge-arrows-2.png

Notes: Most of this page is duplicating what already exists on the generic page. (Discuss in Talk:KornShell)

The KornShell (ksh) is a standard/restricted command and programming language developed by AT&T.


First, install an implementation from the official repositories:

http://www.kornshell.com/ || ksh

More implementations are provided in the Arch User Repository:

  • loksh — A Linux port of OpenBSD's ksh
https://github.com/dimkr/loksh || loksh-gitAUR
  • OpenBSDs Korn Shell — Porting of the OpenBSD version of ksh to GNU/Linux.
https://github.com/ibara/oksh/ || okshAUR
  • MirBSD™ Korn Shell — Enhanced version of the public domain ksh.
http://www.mirbsd.org/mksh.htm || mkshAUR

Making a ksh implementation your default login shell

Change the default shell for the current user:

$ chsh -s /bin/ksh_implementation


Change the default shell before removing the ksh packages.

Warning: Failure to follow the below procedure may result in users no longer having access to a working shell.

Run following command:

$ chsh -s /bin/bash user

Use it for every user with m/ksh set as their login shell (including root if needed). When completed, the mkshAUR package can be removed.

Alternatively, change the default shell back to Bash by editing /etc/passwd as root.

Warning: It is strongly recommended to use vipw when editing /etc/passwd as it helps prevent invalid entries and/or syntax errors.

For example, change the following:

username:x:1000:1000:Full Name,,,:/home/username:/bin/mksh

To this:

username:x:1000:1000:Full Name,,,:/home/username:/bin/bash

See Also