Fact-checked by Grok 2 weeks ago

KornShell

The KornShell (ksh) is a command interpreter and programming language for Unix-like operating systems, developed by David Korn at Bell Telephone Laboratories in 1983 as a superset of the Bourne shell (sh), incorporating advanced interactive capabilities such as command-line editing, with scripting enhancements like floating-point arithmetic added in later versions such as ksh93. KornShell was first announced at the USENIX conference on July 14, 1983, and introduced innovations like emacs- and vi-style command-line editing, making it the first shell to support such features interactively. Its development continued at AT&T Bell Labs, with multibyte character support added in 1986 and adoption into UNIX System V Release 4 in 1988, where it influenced the POSIX and ISO shell standards. The major ksh93 version, released in 1993, represented a significant rewrite emphasizing scripting enhancements, including associative arrays, dynamic loading of modules, and name reference variables, while maintaining upward compatibility with the Bourne shell. Key features of KornShell include built-in support for arithmetic operations (including floating-point in ksh93), process handling, I/O redirection, job control, and extensibility via a C application programming interface, allowing it to function both as an interactive shell for command execution and as a full programming environment for scripts. It conforms to the 1992 POSIX shell standard (IEEE Std 1003.2) when invoked in POSIX mode and supports key bindings, command completion, and security features like restricted shells. Historically, KornShell has been widely used in enterprise environments, such as AIX and Solaris, for system administration and automation due to its efficiency and portability across UNIX and non-UNIX platforms, including Windows via tools like UWIN. As of 2025, KornShell remains actively maintained through the open-source ksh93 project on GitHub, following AT&T's discontinuation of development, with the current stable release based on the 93u+m variant (version 1.0 as of August 2024), incorporating bug fixes and enhancements from community contributions while preserving POSIX compliance and backward compatibility. The source code is available under the Common Public License via the open-source ksh93 project on GitHub, and it continues to be packaged in major Linux distributions like Red Hat Enterprise Linux and Debian. Although the original language design is in the public domain—influencing reimplementations like pdksh and features in Bash—while the original ksh93 was proprietary to AT&T, its source code is available under the Common Public License, and the current open-source implementation is freely distributable without non-commercial restrictions.

Overview

Definition and Purpose

The KornShell (ksh) is a and programming language that serves as a superset of the (sh), incorporating enhanced features to support both interactive command execution and automated scripting tasks. Developed as an extensible high-level language, it provides users with a command-line interface for running system commands, manipulating files, and performing administrative operations in Unix environments. Additionally, ksh functions as a , enabling the creation of scripts to automate complex workflows, such as combining multiple commands into reusable programs for system maintenance and data processing. As the third major Unix shell following the in 1977 and the in 1978, KornShell emphasizes standardization and interoperability. It conforms to the Portable Operating System Interface for Computer Environments (), an for operating systems that promotes consistency across implementations. This compliance ensures portability of ksh scripts and interactive sessions across various Unix variants, including systems like AIX and those adhering to POSIX guidelines. In its basic operational model, KornShell reads commands from standard input—typically the keyboard in interactive mode or a file in non-interactive mode—performs necessary substitutions such as variable expansion, and executes them through the operating system. It manages environment variables, process control, and execution paths by searching directories specified in the PATH variable for commands, built-in functions, or user-defined aliases, thereby facilitating efficient interaction with the underlying Unix kernel.

Relation to Other Shells

The KornShell (ksh) serves as a superset of the , ensuring full backward compatibility with its syntax and core functionality while incorporating select interactive features from the , including command history and job control. This design allows Bourne shell scripts to run unchanged under the KornShell, preserving portability across Unix systems. A primary differentiator of the KornShell lies in its synthesis of the Bourne shell's robust portability and scripting power with the C shell's user-friendly interactive elements, such as editable command lines and process management, without adopting the C shell's problematic non-portable syntax that hindered cross-system scripting. This balanced approach made ksh particularly appealing for both interactive use and large-scale script development in enterprise environments. In comparison to the , released in 1989, the KornShell predates it by several years and exerted significant influence on its design, with Bash explicitly incorporating useful features from ksh alongside elements. However, while extends functionality with GNU-specific enhancements for broader extensibility, the KornShell emphasizes strict adherence to standards for greater reliability in portable applications. The KornShell (ksh88) played a pivotal role in shaping the POSIX shell standard defined in IEEE 1003.2 (1992), contributing features like arithmetic expansion syntax and serving as a basis for the POSIX sh utility. The ksh93 release (1993) conforms to this standard while adding enhancements such as . The lineage of Unix shells can be outlined textually as follows: the forms the foundational branch, evolving into the KornShell through integration of influences, which in turn informed modern derivatives like the (zsh).

History

Origins at Bell Labs

The KornShell (ksh) was created by David Korn in 1983 at Bell Laboratories to support system programming and administration tasks in complex Unix environments. It was first announced at the USENIX conference on July 14, 1983. Korn, a programmer at Bell Labs, sought to overcome the shortcomings of existing shells prevalent at the time, particularly the Bourne shell's limited interactive capabilities for users and the C shell's inadequate portability for scripting across systems. His design aimed to produce a unified shell that combined the scripting reliability of the Bourne shell with enhanced interactive features, enabling both end-users and developers to work more efficiently without switching between incompatible tools. Early development of KornShell occurred internally at Bell Labs from 1983 to 1986, where prototypes integrated key interactive elements from the —such as command history, aliases, and improved path searching—directly into the Bourne shell's framework to maintain while boosting usability. These prototypes were refined through iterative testing within ' Unix research group, focusing on performance and reliability for demanding applications. The project aligned with ' tradition of Unix innovation, emerging alongside tools like for text processing and lex for lexical analysis, both developed in the same research environment to advance system-level programming. KornShell prototypes were evaluated in practical telecom and research settings at , where they addressed real-world needs for efficient command execution and script management in large-scale Unix deployments. An early version of KornShell was released internally in , marking its transition from to a tool gaining traction within AT&T's Unix ecosystems. Initially restricted to licensed environments, this release demonstrated KornShell's potential influence on Unix administration, though it remained under AT&T's control and unavailable for broader open distribution.

Key Releases and Standardization

The KornShell's first major public release, ksh88, occurred in 1988 and was integrated into Release 4, marking its widespread adoption as a standard component of commercial Unix distributions. This version introduced key enhancements over the , including support for user-defined functions and improved signal trapping mechanisms, which allowed for more robust error handling and modular scripting. Additionally, ksh88 added command-line editing capabilities (in and styles) and initial multibyte character support, facilitating interactive use and early efforts. In 1993, ksh93 represented a comprehensive of ksh88, emphasizing advanced scripting capabilities while aligning closely with emerging standards. Key innovations included improved for better parsing of complex expressions, of built-in modules to extend functionality without recompilation, , and associative arrays for data handling akin to other high-level languages. These features positioned ksh93 as a more powerful tool for both interactive sessions and large-scale script development. Subsequent maintenance releases in the 2000s, such as ksh93u+ around 2012, further refined internationalization support, including enhanced UTF-8 handling and locale-aware operations to broaden compatibility in global environments. KornShell played a pivotal role in shell standardization, with ksh88 serving as a primary reference for the IEEE POSIX.2 (Std 1003.2-1992) and ISO/IEC 9945-2 shell specifications ratified in 1992, which defined a portable command based on System V and ksh features. Ksh93 was explicitly designed to conform to these standards, passing conformance test suites and influencing their evolution by incorporating required elements like POSIX command syntax and utilities. This alignment extended to the (SUS), where KornShell's portable features ensured interoperability across certified systems, including IBM AIX, , and Hewlett-Packard , by providing a consistent for scripting and system administration. The transition to open source began in March 2000, when released the ksh93 under a permissive as part of the AST Open software package, following the divestiture of Unix assets and enabling broader contributions. This move facilitated ongoing maintenance and adaptations, particularly after David Korn's retirement in the mid-2010s. Following the discontinuation of the official development line in 2018, efforts revived development with the 93u+m variant. As of August 2024, the stable release is version 1.0, focusing on bug fixes, performance optimizations, and compatibility for modern systems while preserving compliance.

Features

Enhancements to

The (ksh) introduced several key enhancements to the (sh), primarily in syntax and built-in commands that improved basic scripting and command execution efficiency. These improvements addressed limitations in the 's line-oriented input and rudimentary control structures, enabling more interactive and robust shell usage without requiring external tools. One major advancement is command-line , which allows users to edit commands interactively using vi-style or emacs-style modes, a significant upgrade from the Bourne shell's basic line-buffered input that lacked in-line editing. For instance, users can enable vi mode with set -o vi, permitting cursor movement, insertion, and deletion directly on the command line. Additionally, the fc command provides history recall and capabilities, allowing commands to be listed, edited, and re-executed, such as fc -l to display or fc -e vi to edit previous commands in a editor. In , KornShell extends the Bourne shell's limited control structures by supporting user-defined with scoping via the typeset command, which declares variables local to the (e.g., function myfunc { typeset localvar=1; ... }). This prevents pollution in scripts, unlike the Bourne shell's global variables. KornShell also introduces the select loop for creating simple menus, as in select item in option1 option2; do ... done, which displays a numbered list and handles user input interactively, facilitating menu-driven scripts beyond Bourne's basic case and loops. Path and wildcard expansions in KornShell build on the Bourne shell's basic pattern matching with more powerful globbing features, including ~ for automatic home directory expansion (e.g., cd ~user to navigate to another user's home). When the globstar option is enabled (via set -o globstar), the ** pattern supports recursive directory traversal (e.g., ls **/*.txt to find all .txt files in subdirectories). These enhancements simplify file handling in scripts and commands, reducing the need for external utilities like find. Trap handling and signal management are refined in KornShell through an enhanced trap command for error handling and cleanup, such as trap 'cleanup' EXIT to execute code on script termination, which provides better reliability than the 's basic signal trapping. Arithmetic evaluation is supported via the $(( )) construct for integer math (e.g., result=$(( 5 + 3 ))), enabling inline calculations without invoking external tools like expr, a feature absent in the original . Specific syntax additions include co-processes using |& for parallel execution, allowing a command to run concurrently with the shell (e.g., print -p "hello" |& cat <&p), which supports inter-process communication not available in . Job control is also refined with built-in commands like bg to background a job, fg to foreground it, and jobs to list active jobs, drawing influences from the while maintaining Bourne compatibility. Interactive history use, such as navigating past commands, builds on these editing features for more efficient sessions.

Advanced Scripting and Interactive Capabilities

In ksh93, KornShell provides robust support for advanced data structures, including indexed arrays and associative arrays declared with the typeset -A command, which function as hash tables for efficient storage and retrieval of key-value pairs in scripts. For instance, an associative array can store configuration data like user mappings, allowing quick lookups such as print ${teammates[mary]} after initialization with typeset -A teammates; teammates=( [john]=smith [mary]=jones ). This capability extends beyond simple variables, enabling complex data handling without external tools. The shell supports loadable extensions through the KornShell Development Kit (KDK), permitting the dynamic addition of built-in functions written in C for specialized tasks like networking or graphics without recompiling the shell. These extensions are loaded using the builtin command, which integrates new functionality into the running interpreter, enhancing modularity for large-scale scripting environments. This extensibility allows developers to tailor the shell's capabilities to specific needs, such as custom I/O handlers or mathematical libraries. Interactive use is elevated by programmable completion, configurable via key bindings to script behaviors for command-line suggestions based on context. Aliases can incorporate arguments through integration with functions or history expansions, though direct argument passing in simple aliases requires function wrappers for full flexibility. Additionally, the r alias, typically defined as alias r='fc -s', facilitates command repetition from history by re-executing the most recent matching command, streamlining iterative tasks in terminal sessions. Process management benefits from sophisticated I/O redirection operators, such as >&2 to merge stdout with stderr, enabling precise control over output streams in pipelines. Here-documents support quoting to preserve literal content, as in cat << 'EOF' > file, which embeds multi-line input without variable expansion for safer embedding of . In ksh93, functions further enhance this by attaching custom hooks to variables, like function time.get { .sh.value=$(date +%r); }, allowing automatic actions on variable access or modification. In ksh93, scripting paradigms include built-in via the $(( )) substitution and typeset -F for variables, supporting operations like print $(( 3.14 * 2 )) or value=$(( sqrt(9.0) )) for precise numerical computations. In ksh93, matching uses the =~ operator within [[ ]] tests, as in [[ "pattern" =~ ^[a-z]+$ ]] for validating strings against patterns. The getopts utility extends option parsing with optstring specifications, including colons for required arguments and a leading + for optional long-form options, improving argument handling in robust scripts.

Development and Contributions

Individual Contributors

David Korn is recognized as the primary creator and long-term lead developer of the KornShell (ksh), initiating its design in the early 1980s while working at Bell Laboratories. He developed the shell as an enhancement to the , incorporating advanced scripting features such as command-line editing, job control, and elements, with the first public announcement occurring at the Summer Conference on July 14, 1983. Korn's contributions spanned over 30 years, encompassing the architecture of key releases like ksh88 (1988) and ksh93 (1993), where he introduced innovations including associative arrays, , and loadable modules to support extensibility. He maintained primary responsibility for the shell's evolution until his retirement from in October 2013. Early development at involved collaboration with other researchers, notably Mike Veach and , who contributed essential interactive features in the . Veach implemented the Emacs-style line editing mode, enabling efficient command history and recall, while developed the vi-style editing integration, allowing users familiar with the editor to leverage modal editing within the shell prompt. These additions significantly improved the shell's usability for interactive sessions, particularly in System V Unix environments, and were integral to the ksh88 release bundled with Release 4 in 1988. Following AT&T's open-sourcing of ksh93 in 2000 under a permissive license, Korn continued as the principal maintainer through the early 2010s, focusing on conformance, bug fixes, and ports to emerging platforms like . After his departure, the project entered a period of dormancy until community-driven revival efforts in the late 2010s. The open-source ksh93 project on (ksh93/ksh), based on the 93u+ variant, has since incorporated bug fixes and enhancements from community contributions, including patches from , [Red Hat](/page/Red Hat), and , with the current stable release being version 1.0 as of August 2024. Community figures have since played vital roles in sustaining ksh93's development. K. P. Vo, a fellow alumnus known for graph visualization tools, influenced ancillary ksh features related to data representation and scripting utilities during the . Stéphane Chazelas has been an active contributor in the open-source era, providing enhancements, bug reports, and patches for issues like globbing behaviors and compatibility quirks, as seen in ongoing discussions and integrations into distributions like . This collaborative transition marked a shift from Korn's solo leadership to a distributed model, ensuring the shell's relevance amid evolving Unix standards.

Corporate and Institutional Support

AT&T Bell Laboratories served as the primary developer of KornShell from its inception in 1983 through 2000, supplying proprietary resources such as computing and testing environments on systems. Following the 1996 divestiture of 's equipment manufacturing division, Bell Laboratories became part of Technologies, which co-owned and maintained the ksh93 version during the late and early 2000s amid the Unix vendor wars. In the open-source era, the Open Group and IEEE played key roles in KornShell's standardization, with the 1988 version providing the basis for the POSIX Shell and Utilities standard (IEEE Std 1003.2-1992), and the 1993 version conforming to it while passing X/Open test suites; AT&T donated code to the public domain to support these efforts. IBM's AIX team integrated and maintained KornShell for enterprise environments, providing an enhanced version (ksh93) alongside the default shell to ensure compatibility and performance in production systems. Third-party vendors contributed through ports, bug fixes, and default integrations: made KornShell the default shell in until the introduction of in later versions, handling adaptations for and x86 architectures. based its POSIX shell in on KornShell, extending it with system-specific enhancements and bug fixes for reliability in mission-critical applications. The (SCO) ported KornShell to , ensuring compatibility with its SVR4-derived kernel and providing fixes for networking and file system operations. AT&T facilitated resource donations, including hardware like VAX systems for early testing, and provided legal support for the 2000 licensing transition, releasing ksh93 source code under an open-source license as part of the AST-open project to enable broader community development.

Variants and Implementations

Official AT&T Versions

The ksh88 lineage, released in 1988, was the version adopted for System V Release 4 UNIX and served as a for the IEEE and ISO shell standards. It provided basic support while lacking capabilities, focusing instead on core enhancements to the such as command history and job control. The last significant updates to ksh88 occurred in the early 1990s, after which development shifted to the next major iteration. The ksh93 series debuted in 1993 with a that allowed extensibility through a C language for built-in commands. Key versions, such as 93u+ in the 2000s for Unix ports, introduced support for and 64-bit architectures. Official development concluded in 2014 with the unstable ksh93v- beta, marking the end of AT&T's direct maintenance. Although AT&T's direct maintenance ended in 2014, the source code has enabled ongoing community development through the open-source ksh93u+m project, with version 1.0.10 released in August 2024. Official versions were bundled in Unix derivatives like System V Release 4 and later distributions, including the environment for Windows, which provided a POSIX-compliant Unix layer with ksh as the primary . became publicly available starting in March 2000 under the Open license, an ISC-like permissive license allowing redistribution of binaries with certain terms. Maintenance evolved through distinct phases: proprietary development from 1986 to 2000 under , semi-open sourcing from 2000 to 2013 managed by Software Technology (), and community efforts continued with a reboot in 2020 via the ksh93u+m project on , based on mirrors of the AST repository. These versions maintained binary compatibility across releases to ensure portability, with ksh93 introducing the AST library—a comprehensive set of portable utilities and functions that enhanced cross-platform deployment on Unix, Windows, and even mainframes like .

Third-Party and Open-Source Derivatives

The Korn Shell (pdksh) emerged in 1989 as an open-source of the Korn Shell, primarily developed by Eric Gisin using components from Charles Forsyth's V7 and the BRL shell. Designed for systems without access to proprietary software, pdksh focused on compliance, incorporating most features from ksh88 while adding support for platforms like and removing -specific modules. It was maintained by contributors including John R. MacMillan, Simon J. Gerraty, and Michael Rendell, evolving into a widely used alternative for scripting and interactive use in environments. Development ceased in 1999 with the release of version 5.2.14, after which it was largely superseded by its derivatives. Building on pdksh, the MirBSD Korn Shell (mksh) was initiated in 2002 by the MirOS Project under lead developer Thorsten Glaser to create a , standards-compliant successor. Mksh emphasizes a small , POSIX 2008 adherence, and enhanced portability, making it suitable for resource-constrained systems while retaining compatibility and most Korn Shell syntax. Key enhancements include brace expansion for generating string lists (e.g., echo file{1..5}.txt producing file1.txt through file5.txt) and improved reporting with detailed diagnostics for script failures. Licensed under permissive ISC and terms, mksh prioritizes open-source freedom over AT&T's restrictions, and it has become the default shell in since the mid-2000s and in since version 1.0. While not a direct derivative, the Debian Almquist Shell (dash) incorporates partial compatibility with Korn Shell features in its lightweight implementation, derived from the original Almquist shell (ash). Dash emulates some ksh-like behaviors, such as extended globbing and arithmetic evaluation, to support legacy scripts without full ksh93 replication, prioritizing speed and minimal dependencies for use as /bin/sh in -based distributions like . This selective compatibility aids in running Korn-influenced scripts efficiently on modern systems, though it remains fundamentally a variant rather than a Korn . Other notable forks include FreeBSD's ksh implementation, which bases on AT&T's ksh93u+m with community patches for stability and integration, incorporating fixes from distributions like , , and . For embedded systems, provides a ksh applet as a minimal, ash-derived with select Korn features like advanced , enabling compact Korn-compatible scripting in resource-limited environments. Overall, these derivatives emphasize open licensing, platform portability, and targeted enhancements like reduced size and better diagnostics, distinguishing them from proprietary versions.

Adoption and Usage

Integration in Operating Systems

KornShell has been integrated as the or primary shell in several proprietary Unix operating systems. In IBM's AIX, introduced in the 1980s, KornShell serves as the login shell, providing enhanced scripting capabilities for system administration and user interaction. Similarly, Hewlett-Packard's systems feature KornShell as the , with such as ksh88 and ksh93 available for with and scripts; ksh88 was the in earlier releases, while ksh93 offers additional features like improved arithmetic evaluation. In ' (later Oracle's) , KornShell was a core component until the 2010s, when Oracle 11 (released in ) designated ksh93 as the implementation for /bin/sh to maintain compliance, though the interactive shell shifted to ; 10 and 11 retain ksh93 specifically for executing scripts in system initialization and automation tasks. In open-source Unix-like systems, KornShell derivatives fulfill key roles. OpenBSD and NetBSD provide /bin/ksh as a public-domain implementation based on the original KornShell design, ensuring POSIX compatibility for essential system functions. Android, Google's mobile operating system, relies on the MirBSD Korn Shell (mksh) as its primary shell, particularly for scripting within the Toybox suite of utilities that handles command-line operations in resource-constrained environments. Linux distributions such as Red Hat Enterprise Linux (RHEL) include ksh93 as an optional package, allowing users to install and configure it for environments requiring KornShell-specific syntax. KornShell often assumes configuration roles in POSIX-compliant systems, where /bin/ may be symlinked to or implemented by ksh to support standardized scripts, jobs, and background processes. For instance, in SGI's and HP's Tru64 UNIX, /bin/ points to a POSIX shell variant derived from KornShell, enabling seamless execution of portable scripts without requiring explicit shebangs. Historically, KornShell's adoption faced shifts in /Linux distributions during the , where largely replaced it as the default due to Bash's GPL licensing and open-source availability, contrasting KornShell's initial proprietary restrictions; however, KornShell persists in systems and environments for its superior performance in script execution and lower resource footprint. In AIX, the implementation is a customized variant of ksh93 with extensions for system-specific integrations, such as scripting for file-sharing services. Third-party derivatives like mksh, detailed in the Variants and Implementations section, extend KornShell's integration into these systems.

Current Applications and Alternatives

KornShell maintains a presence in niche applications within legacy Unix environments, particularly for system administration tasks on platforms like AIX, where it serves as the default shell for scripting in sectors such as banking and due to the operating system's reliability for mission-critical workloads. In systems, variants like the MirBSD Korn Shell (mksh) are employed in resource-constrained devices, including Android-based systems and some routers, owing to its lightweight footprint and compliance that ensures portability without excessive overhead. Additionally, KornShell supports tools that prioritize standards for cross-platform script compatibility, enabling consistent automation in heterogeneous environments. Despite these uses, KornShell faces challenges including declining popularity overshadowed by the dominance of and Zsh, which offer broader community support and modern features appealing to general users. The original development of ksh93 ceased around 2014 following internal changes at , leading to a maintenance burden shifted to community efforts through forks like the GitHub-maintained ksh93u+m project. Recent distributions, such as 9 updates in 2025, continue to provide stability via bug fixes, but adoption remains stagnant without aggressive innovation. As alternatives, Bash provides extensive GNU extensions and enhanced interactivity for everyday scripting, while Zsh excels in advanced tab completion and plugin ecosystems like Oh My Zsh, making it popular for power users. Fish emphasizes user-friendliness with and autosuggestions out of the box. KornShell retains advantages in performance, with faster parsing and execution speeds compared to in benchmarks, alongside strict adherence to standards for reliable, portable scripts. In modern contexts, KornShell finds relevance in containerization environments like , where administrators install it for legacy script execution requiring precise behavior. It supports pipelines in tools like Jenkins by ensuring compatibility with -compliant automation, avoiding Bash-specific quirks in multi-platform deployments. Educational settings also leverage KornShell to teach core shell fundamentals due to its balance of heritage and structured scripting capabilities. As of , its adoption profile indicates stability in and specialized niches but no significant , sustained by ongoing and vendor patches. Looking ahead, potential revival could stem from emerging reimplementations in modern languages like for improved security and performance, though no major project has yet materialized, or deeper integration in (WSL) to facilitate Unix emulation for legacy Windows-based workflows.

References

  1. [1]
    KSH-93 - Frequently Asked Questions - KornShell
    KornShell is a command and scripting language that is a superset of the System V UNIX shell, aka, BourneShell (or 'sh'). Q2. What is ksh? A2. ksh is the name of ...
  2. [2]
    GitHub - ksh93/ksh: ksh 93u+m: KornShell lives! - GitHub
    Welcome to the repository where the KornShell is under active development. This is where we develop bugfixes and new features for the shell.
  3. [3]
    KornShell
    Home Page For The KornShell Command And Programming Language. Note: ksh93 source is available on github. Information: What is KornShell?
  4. [4]
    [PDF] ksh - An Extensible High Level Language - Oil Shell
    ksh is a high level interactive script language that is a superset of the UNIX system shell. ksh has better programming features and better performance.Missing: compliance | Show results with:compliance
  5. [5]
    Korn shell or POSIX shell commands - IBM
    The Korn shell (also known as the POSIX shell) offers many of the same features as the Bourne and C shells, such as I/O redirection capabilities, variable ...
  6. [6]
    Evolution of shells in Linux - IBM Developer
    Dec 9, 2011 · The Korn shell (ksh), designed by David Korn, was introduced around the same time as the Tenex C shell. One of the most interesting features of ...
  7. [7]
    Korn shell - IBM
    The Korn Shell, or POSIX Shell, lets you perform command substitution. In command substitution, the shell executes a specified command in a subshell environment ...Missing: Unix | Show results with:Unix
  8. [8]
    [PDF] Chapter 1 Introduction to System Programming - Computer Science
    Aug 15, 2011 · The Korn shell was developed by David Korn at Bell Labs and introduced into the SVR4 commercial release of UNIX by AT&T. Its syntax is based ...
  9. [9]
    [PDF] Basic Introduction to UNIX/linux - Computer Science Department
    The Korn Shell, also written in the late 80s, incorporates features and functionality of both the C and Bourne shells, while retaining the speed of the Bourne ...
  10. [10]
    [PDF] Bash, the Bourne−Again Shell - Technology Infrastructure Services
    Bash is an sh−compatible shell that incorporates useful features from the Korn shell (ksh)[2] and the. C shell (csh)[3], described later in this article. It ...
  11. [11]
    The New KornShell&mdash;ksh93 - Linux Journal
    Jul 1, 1996 · ... Unix ... Using the API, available through the KornShell Development Kit, you can extend the application domain for shell programming.
  12. [12]
    Linux Shells for Beginners – Bash, Zsh, and Fish Explained
    Dec 13, 2022 · Zsh is an extension of the Bourne shell with a lot of improvements. Zsh was released in 1990 by Paul Falstad, and it has some features that Bash ...Missing: lineage | Show results with:lineage
  13. [13]
    [PDF] A Brief POSIX Advocacy: Shell Script Portability - USENIX
    But another competing implementation was released in 1978, the C shell, written by Bill Joy to be closer to the C syntax and to have more interactive ...
  14. [14]
    4. The Bash and Korn Shells - Unix in a Nutshell, 4th Edition [Book]
    David Korn at Bell Labs was the first developer to enhance the Bourne shell ... C shell, while remaining compatible with the Bourne shell for shell programming.
  15. [15]
    Ch 11 -- Korn Shell - rigacci.org
    You can set Korn shell options in two ways: with the ksh command when you invoke the shell and with the set command from within the shell after you've started ...Missing: incorporates | Show results with:incorporates
  16. [16]
    KSH-93 - The KornShell Command and Programming Language
    The code should conform to the IEEE POSIX 1003.1 standard and to the proposed ANSI-C standard so that it should be portable to all such systems. Like the ...Missing: alignment | Show results with:alignment
  17. [17]
    Enhanced Korn shell (ksh93) - IBM
    In addition to the default system Korn shell (/usr/bin/ksh), AIX provides an enhanced version available as Korn shell /usr/bin/ksh93.Missing: modules | Show results with:modules
  18. [18]
    KornShell, a standard/restricted command and programming language
    The shell performs arithmetic evaluation for arithmetic substitution, to evaluate an arithmetic command, to evaluate an indexed array subscript, and to evaluate ...
  19. [19]
    [PDF] Guidelines for writing ksh-93 built-in commands
    This memo describes how to write ksh extensions. 2. WRITING BUILT-IN COMMANDS. There is a development kit available for writing ksh built-ins as part of the AST ...
  20. [20]
    How to create an alias that takes an argument in KornShell [duplicate]
    Jan 23, 2013 · I am trying to create an alias which when given some argument will look for the folder with contains the argument as pattern. Let the alias name ...How to evalute multiple arguments in a alias? [duplicate]Using alias in another script (ksh) - Unix & Linux Stack ExchangeMore results from unix.stackexchange.com
  21. [21]
    Korn Shell Style Features - MIT
    Bash includes the Korn Shell select construct. This construct allows the easy generation of menus. It has almost the same syntax as the for command.Missing: Unix | Show results with:Unix
  22. [22]
    Input and output redirection in the Korn shell or POSIX shell - IBM
    Before the Korn shell executes a command, it scans the command line for redirection characters. These special notations direct the shell to redirect input ...
  23. [23]
    ksh - man pages section 1: User Commands - Oracle Help Center
    I/O redirections are processed after variable assignments. Errors cause a script that contains them to abort. They are not valid function names. Words ...
  24. [24]
    David Korn - KornShell
    He is the creator of the KornShell, a command language for the UNIX environment, as well as UWIN, an X-Open library for Windows NT and Windows 95. In 1984, he ...
  25. [25]
    ksh: An Extensible High Level Language - USENIX
    ksh: An Extensible High Level Language. Authors: David G. Korn, AT&T Bell Laboratories ... ksh-93 is the first major revision of ksh in five years. Many of the ...Missing: creator | Show results with:creator<|control11|><|separator|>
  26. [26]
    KornShell 2020 - Impossible Happens! - Posts
    Oct 10, 2019 · It was a big setback to ksh when David Korn and his team stopped working on it a few years ago. 10th October 2013 was the last day of David and ...Missing: retirement | Show results with:retirement
  27. [27]
    choice of shells - OSdata.com
    Aug 11, 2014 · The Korn shell, abbreviated ksh, was created by David Korn at AT&T's Bell Labs and announced at USENIX on July 14, 1983. Mike Veach and Pat ...
  28. [28]
    Article by David Korn
    that was based on the UNIX System V shell and the 1988 version of ksh. The 1993 version of ksh is a version of ksh which is a superset of the. POSIX and ISO ...<|control11|><|separator|>
  29. [29]
    David Korn Tells All - Slashdot
    Feb 7, 2001 · The new AT&T open source license allows ksh source and binaries to be shipped as part of the system and is now just beginning to start ...Missing: maintainers | Show results with:maintainers
  30. [30]
    Please document/specify the globstar behaviour · Issue #146 - GitHub
    Oct 20, 2020 · @stephane-chazelas · @McDutchie. Issue actions. Footer. © 2025 ... Please document/specify the globstar behaviour · Issue #146 · ksh93/ksh.
  31. [31]
    [ANN] ksh 93u+m/1.0.6 - Google Groups
    Jun 13, 2023 · Also includes backported contributions by: David Korn, Glenn Fowler, Lefteris Koutsofios, Siteshwar Vashisht, Kurtis Rader, Roland Mainz ...
  32. [32]
    Comparing Korn Shell vs Bash: Things You Never Knew! - CyberPanel
    May 14, 2025 · Korn Shell is better for performance and legacy support, while Bash is the top choice for modern scripting and Linux compatibility.
  33. [33]
    KornShell Overview
    It is an interactive command language that provides access to the UNIX system and to many other systems, on the many different computers and workstations on ...
  34. [34]
  35. [35]
    Differences Between Solaris 10 and Solaris 11.4
    Oct 4, 2021 · Default login and other shell changes - In Oracle Solaris 11, /bin/sh is the Korn shell (ksh93), and the default interactive shell is the Bourne ...<|separator|>
  36. [36]
    property of Korn shell and POSIX shell - HPE Community
    Dec 5, 2008 · This becomes important when *porting* a script to different platforms where '/bin/sh' may be the Posix shwll or the Korn shell, or the Bash ...
  37. [37]
    sh(1) - 3kRanger.com
    This shell conforms to current POSIX standards in effect at the time the HP-UX system release was introduced, and is similar to the Korn shell in many respects.
  38. [38]
    ksh(C) - DocView: Access to SCO OpenServer 6 Documentation
    The following pathnames are treated specially by ksh: /dev/tcp/IP-address/port-number /dev/udp/IP-address/port-number. If ksh is asked to open a filename of ...
  39. [39]
    The Korn shell .profile and .kshrc - UnixWare 7 Documentation
    The Korn shell (see ksh(1)) uses two startup files that allow users to customize their shell environment: a $HOME/.profile (if one exists) and the startup file ...
  40. [40]
    There are ksh clones. But the "real" ksh is AT&T lincensed software.
    There are ksh clones. But the "real" ksh is AT&T lincensed software. Randolph J. Herber, CD/DCD/SP, x2966 HERBER at FNALA.FNAL.GOV
  41. [41]
    History of Unix Shells (Learning the Korn Shell, 2nd Edition)
    The Korn shell, or ksh, was invented by David Korn of AT&T Bell Laboratories in the mid-1980s. It is almost entirely upwardly compatible with the Bourne shell.
  42. [42]
    Linux Command Line Adventure: Other Shells - LinuxCommand.org
    In 1983, in an effort to improve the Bourne shell, David Korn released the Korn shell. Command history, job control, associative arrays, vi and Emacs style ...
  43. [43]
    UWIN – Unix for Windows - OSnews
    Jan 16, 2006 · The tools include a complete shell (Korn Shell) for Windows which is ... on the same laptop in AT&T ksh/UWIN and cygwin,. UWIN ksh is ...Missing: distribution ISC<|separator|>
  44. [44]
  45. [45]
    pdksh(1): Public domain Korn shell - Linux man page
    ksh is a command interpreter that is intended for both interactive and shell script use. Its command language is a superset of the sh(1) shell language.
  46. [46]
    pdksh - Public Domain Korn Shell
    PD-ksh is a clone of the AT&T; Korn shell. At the moment, it has most of the ksh88 features, not much of the ksh93 features, and a number of its own features.Missing: development | Show results with:development
  47. [47]
    Useful scripts | Page 13 | The FreeBSD Forums
    Dec 1, 2008 · Zones, ipf (Solaris firewall) and a sane user land. I exchanged ipfilter for pf last year or so, but I'm still a die hard Korn shell user ;)<|separator|>
  48. [48]
    mksh - Gentoo Wiki
    Jun 15, 2023 · mksh is the MirBSD Korn Shell, a free, compact, fast, and reliable shell, suited for scripting and used as default on Android.
  49. [49]
    mksh(1): MirBSD Korn shell - Linux man page
    mksh is a command interpreter intended for both interactive and shell script use. Its command language is a superset of the sh(C) shell language.
  50. [50]
    None
    Nothing is retrieved...<|control11|><|separator|>
  51. [51]
    dash(1) — dash — Debian testing
    Feb 4, 2025 · This version has many features which make it appear similar in some respects to the Korn shell, but it is not a Korn shell clone (see ksh(1)).
  52. [52]
    shells/ksh: ksh93u+m is the renewed development of ksh93 based ...
    Aug 28, 2022 · Applications which require a legacy ksh compatible package should use the ksh93 port installed using one of its options. This allows new and ...Missing: binary portability
  53. [53]
    Improved busybox sh support · Issue #2865 · koalaman/shellcheck
    Nov 22, 2023 · Busybox SH is an ash derivative with a few features from ksh. Running some tests, I noticed the following SCxxxx errors do not apply to busybox sh.
  54. [54]
    How to install KSH on FreeBSD - nixCraft
    Sep 17, 2025 · Installing KSH (KornShell) on FreeBSD can be done with either FreeBSD ports or the pkg command. The ports collection will download the KSH ...
  55. [55]
    mksh - Free Software Directory
    mksh is the MirBSD enhanced version of the Public Domain Korn shell (pdksh), a Bourne-compatible shell which is largely similar to the original AT&T Korn shell.Missing: origins | Show results with:origins
  56. [56]
    Korn shell scripting - IBM Developer
    Jun 17, 2008 · Korn shell scripting is something all UNIX users should learn how to use. Shell scripting provides you with the ability to automate many ...Missing: KP Vo contributions
  57. [57]
    ksh88 vs. dtksh vs. ksh93 vs. POSIX - HPE Community
    I have been using ksh88 for years and am considering upgrading to ksh93, but I have some questions: 1st of all should I jump to ksh93 or just move to the ...Missing: 1993 alignment
  58. [58]
    User Environment Feature Changes
    In Oracle Solaris 10, the default scripting shell (/bin/sh) is the Bourne shell. In Oracle Solaris 11, /bin/sh is the Korn shell (ksh93), and the default ...
  59. [59]
    User Environment Feature Changes
    Starting with Oracle Solaris 11, /bin/sh is the Korn shell (ksh93), and the default interactive shell is the Bourne-again (bash) shell. When used as a login ...
  60. [60]
    OpenBSD FAQ: Introduction to OpenBSD
    OpenBSD's default shell is ksh, which is based on the public domain Korn shell. Shells such as bash and many others can be added from packages. Devices are ...Missing: /bin/ | Show results with:/bin/<|separator|>
  61. [61]
    sh - Tru64 - nix Documentation Project
    [Tru64 UNIX] With Tru64 UNIX Version 4.0 the Korn shell, /usr/bin/ksh is the same as the POSIX shell /usr/bin/posix/sh. RESTRICTIONS [Toc] [Back]. [Tru64 UNIX] ...
  62. [62]
    Setup and configure Samba on IBM AIX
    Sep 13, 2021 · Samba is an open source, free software suite that provides seamless file and print services between Windows clients and UNIX-like platforms.
  63. [63]
    IBM Power AIX
    Designed with high availability in mind—making it a strong choice for workloads across banking, healthcare, insurance, government and more.
  64. [64]
  65. [65]
    ksh-2020.0.0-alpha1 is now available - Google Groups
    It is based on the ksh93v- release, which was the last version of ksh released by AT&T AST development team. It represents an attempt to keep ksh relevant ...<|control11|><|separator|>
  66. [66]
    RHBA-2025:9454 - Bug Fix Advisory - Red Hat Customer Portal
    The most recent version is KSH-93. KornShell complies with the POSIX.2 standard (IEEE Std 1003.2-1992). Bug Fix(es):. [RHEL9] There is a bug in ...
  67. [67]
    Differences Between Bash and Korn Shells | Baeldung on Linux
    Mar 18, 2024 · Bash is a reliable solution for everyday operations and basic scripting. The Korn shell, on the other hand, provides more scalability and efficiency.Missing: compliance | Show results with:compliance
  68. [68]
    Korn Shell Vs Bash Shell - GeeksforGeeks
    Aug 22, 2025 · Korn Shell, also known as ksh, is a Unix shell that was developed by David Korn in the early 1980s. ... A free and open-source shell widely used ...
  69. [69]
    Docker: Add Linux korn Shell to an existing container - Stack Overflow
    Mar 9, 2020 · I'm quite new to docker and I want to add the Linux Korn Shell to an existing Container. I used this command : yum install ksh. I get these ...Running a script inside a docker container using shell scriptshell - Executing KornShell script - Stack OverflowMore results from stackoverflow.com
  70. [70]
    RHBA-2025:19593 - Bug Fix Advisory - Red Hat Customer Portal
    The most recent version is KSH-93. KornShell complies with the POSIX.2 standard (IEEE Std 1003.2-1992). Bug Fix(es) and Enhancement(s):. stty ...
  71. [71]
    KSH on Ubuntu on WSL - windows subsystem for linux
    Jan 27, 2021 · I just installed the Ubuntu app on Windows Subsystem for Linux (WSL). It defaults to a bash shell. I would prefer ksh.