---
name: "shcomp"
section: "1"
platform: "linux"
package: "ksh"
version: "93u+20120801-3.4+deb10u1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/shcomp"
---

# shcomp(1)

compile a ksh93 shell script

## NAME

shcomp - compile a ksh93 shell script

## SYNOPSIS

**shcomp** \[ *options* \] \[*infile*\] \[*outfile*\]\]

## ORIGIN OF THIS MAN PAGE

This man page was written by Christophe Martin \<Schplurtz@free.fr\> for the **Debian** **GNU/Linux** system. It is based on "shcomp --man" output.

## DESCRIPTION

Unless *-D* is specified, **shcomp** takes a shell script, *infile*, and creates a binary format file, *outfile*, that **ksh93** can read and execute with the same effect as the original script.

Since aliases are processed as the script is read, alias definitions whose value requires variable expansion will not work correctly.

If *-D* is specified, all double quoted strings that are preceded by $ are output. These are the messages that need to be translated to locale specific versions for internationalization.

If *outfile* is omitted, then the results will be written to standard output. If *infile* is also omitted, the shell script will be read from standard input.

## OPTIONS

- *-D*, *--dictionary*

  Generate a list of strings that need to be placed in a message catalog for internationalization.

- *-n*, *--noexec*

  Displays warning messages for obsolete or non-conforming constructs.

- *-v*, *--verbose*

  Displays input from *infile* onto standard error as it reads it.

- *--man*

  Displays this man page on standard error and exits.

- *--help*

  Shows a short help message and exits.

## EXIT STATUS

- 0

  Successful completion.

- \>0

  An error occurred.

## SEE ALSO

[**ksh**(1)](/ksh/1.md)

## IMPLEMENTATION

```
version         shcomp (AT&T Labs Research) 2012-02-29
author          David Korn <dgk@research.att.com>
copyright       Copyright (c) 1982-2012 AT&T Intellectual Property
license         http://www.eclipse.org/org/documents/epl-v10.html
```
