[LINUX] A note about KornShell (ksh)

What is KornShell (ksh)

The shell is inevitable for using UNIX-like OS. Bash (Bourne-Again Shell) is used as standard in Linux etc., but I think that this is an enhanced version of sh (Bourne Shell), which is the ancestor of various shells.

KornShell is also one of the shells that can be used on such UNIX-like OS, but it seems that it is not often adopted as standard in recent years. This time, it is an article that let's try using such KornShell.

Trigger

Let me briefly touch on my personal motives. O'Reilly's KornShell commentary book is sold at a bargain price at a used bookstore, and I picked it up directly. O'Reilly has a bash and tcsh / csh commentary book, but I didn't know that a KornShell commentary book was also published, so I bought it and read it.

Relationship with sh and bash

It's a very rough recognition, but in terms of yesterday's abundance, I think the following recognition is fine.

sh < ksh < bash

It's not as sophisticated as bash, but it feels like it has enough features to be used interactively. Also, unlike csh / tcsh, it doesn't feel like it's significantly different from the bash system (?), So it's easy to get to that point.

ksh variations

To complicate matters, there are multiple implementations, such as because ksh was originally a proprietary license.

ksh This is the original version. Developed by David Korn. Initially proprietary, it became open source in the 2000s.

pdksh A public domain KornShell implementation.

mksh MirOS BSD is an implementation developed for BSD-based operating systems. It can be installed using apt on Debian, Ubuntu, etc.

I will try it for the time being

I think it's rarely the default shell for current Linux distributions, but it's often included in official repositories, so you can install it in your package management and give it a try. I will. Aside from regular use, I think it's interesting from a historical point of view.

Recommended Posts

A note about KornShell (ksh)
A note about __call__
A note about subprocess
A note about mprotect (2)
A note about TensorFlow Introduction
A note about [python] __debug__
Python: A Note About Classes 1 "Abstract"
A note about mock (Python mock library)
Note about awk
Just a note
A note about doing the Pyramid tutorial
A note about the python version of python virtualenv
Data analysis in Python: A note about line_profiler
A note about the new style base class
A note about checking modifiers with Max Plus
A memorandum about matplotlib
Note about pointers (Go)
A memorandum about Nan.
A note about hitting the Facebook API with the Python SDK
A memorandum about correlation [Python]
A memorandum about Python mock
A little more about FIFO
A small note following printf
A note about connecting Spark to OpenStack Swift-based IBM Object Storage
Python Note: About comparison using is
A refreshing story about Python's Slice
A note when gcloud is broken
A sloppy story about Python's Slice
I have a question about whitespace
A small sample note of list_head
A note for writing Python-like code
A note that prints numpy.array nicely
A story about using Python's reduce
[Translation] A note about structured concurrency .. or rather go statements seem harmful
A note about the functions of the Linux standard library that handles time