ksh コマンド

目的

Korn シェルを起動します。

構文

ksh [ -i ] [ { + | - } { a e f h k m n p t u v x } ] [ -o Option ... ] [ -c String | -s | -r | File [ Parameter ] ]

注: - (負符号) の代わりに + (正符号) をフラグの前に付けると、 そのフラグがオフになります。

Description

ksh コマンドは Korn シェルを起動します。Korn シェルは対話式コマンド・インタープリターであり、コマンド・プログラミング言語です。 このシェルはコマンドの実行を、対話式に端末キーボードから行うか、またはファイルから行います。

Korn シェルには、Bourne シェル (bsh コマンドによって起動される) との下位互換性があり、ほとんどの Bourne シェル機能の他に、C シェルの最も優れた機能もいくつか備えています。

注: ksh の待機用ビルトインは、parent wait() API と同様の方法で機能します。

ksh93 という名前の Korn シェルの拡張バージョンも使用可能です。 拡張 Korn シェルではデフォルトの Korn シェルにはない追加機能が使用できます。

さらに、rksh という名前の Korn シェルの制限付きバージョンも使用可能です。 制限付き Korn シェルを使用すると、管理者は、制御された実行環境をユーザーに提供できます。

フラグ

項目 Description
-a 定義されている後続のパラメーターをすべて自動的にエクスポートします。
-c String Korn シェルに String 変数からコマンドを読み取らせます。 このフラグは、-s フラグや File[Parameter ] パラメーターと共に使用できません。
-e 以下の条件の場合を除き、ERR トラップが設定されている場合、そのトラップを実行し、コマンドがゼロ以外の終了状況の場合、終了します。
  • "&&" リストまたは "||" リストに単純コマンドが含まれている。
  • "if"、"while" または "until" の直後に単純コマンドがある。
  • "!" の後のパイプラインに単純コマンドが含まれている。
プロファイルの読み取り中、このモードは使用不可になります。
-f ファイル名置換を使用不可にします。
-h 各コマンドを、最初の読み取り時にトラックされた別名で指定します。
-i シェルが対話式であることを示します。 シェルの入力と出力が端末 (ioctl サブルーチンで決定された) に接続される場合にも、対話式シェルであることを示します。この場合、(kill 0 コマンドが対話式シェルを消去しないようにするために) TERM 環境変数は無視されます。また、(待ち状態を割り込み可能にするために) INTR シグナルは捕そくされ無視されます。 どんな場合にも、QUIT シグナルはシェルに無視されます。
-k コマンド名に先行する引数だけでなく、すべてのパラメーター指定引数をコマンドの環境に入れます。
-m バックグラウンド・ジョブを別々のプロセスで実行し、完了すると 1 行を印刷します。 バックグラウンド・ジョブの終了状況は、完了メッセージで報告されます。 ジョブ制御を行うシステムでは、対話式シェルの場合、このフラグは自動的にオンとなります。
-n コマンドを読み取って構文エラーを検査しますが、実行はしません。 対話式シェルの場合、このフラグは無視されます。
-oオプション 引数を指定しない場合は、現在のオプション設定とエラー・メッセージを出力します。 このフラグを使用すると、以下のオプションをすべて使用可能にできます。
allexport
-a フラグと同じです。
errexit
-e フラグと同じです。
bgnice
すべてのバックグラウンド・ジョブをより低い優先順位で実行します。 これはデフォルトのモードです。
emacs
コマンド入力のために、emacs スタイルのインライン・エディターを開始します。
gmacs
コマンド入力のために、gmacs スタイルのインライン・エディターを開始します。
ignoreeof
ファイル終わり (EOF) 文字があっても、シェルを終了しません。 exit コマンドを使用するか、またはフラグをオーバーライドし、Ctrl-D キー・シーケンスを 12 回以上押して、シェルを終了します。
keyword
-k フラグと同じです。
markdirs
ファイル名置換の結果であるすべてのディレクトリー名に / (スラッシュ) を追加します。
monitor
-m フラグと同じです。
noclobber
リダイレクトによって、既存のファイルが切り捨てられないようにします。 このオプションを指定する場合、ファイルを切り捨てるには、 リダイレクト・シンボル >| (右方脱字記号、パイプ・シンボル) を使用します。
noexec
-n フラグと同じです。
noglob
-f フラグと同じです。
nolog
関数定義がヒストリー・ファイルに保管されないようにします。
nounset
-u フラグと同じです。
privileged
-p フラグと同じです。
verbose
-v フラグと同じです。
trackall
-h フラグと同じです。
vi
コマンド入力のために、vi スタイルのインライン・エディターは挿入モードになります。 エスケープ文字 033 を入力すると、エディターは移動モードになります。 リターンは行を送ります。
viraw
vi モードで入力された文字を 1 つずつ処理します。
xtrace
-x フラグと同じです。

1 つの ksh コマンド・ライン内に複数のオプションを設定できます。

-p ログイン・シェルとしてシェルを使用する場合に、$HOME/.profile ファイルの処理を使用不可にします。
-r 制限付きシェルを実行します。 制限付きシェルを使用する場合、以下は実行できません。
  • 現在の作業ディレクトリーの変更
  • SHELLENV、または PATH の各変数の値の設定
  • / (スラッシュ) を含むコマンドのパス名の指定
  • > (右脱字記号)、 >| (右脱字記号、パイプ記号)、<> (左脱字記号、右脱字記号)、または >> (右脱字記号が 2 つ) が含まれるコマンドの出力をリダイレクトすること
このフラグを使用することは、rksh コマンドを実行するのと同じです。
-s ksh コマンドに標準入力からコマンドを読み取らせます。 特殊コマンドの出力を除くシェル出力は、ファイル・ディスクリプター 2 に書き込まれます。 このパラメーターは、-c フラグまたは File[Parameter ] パラメーターと共に使うことはできません。
-t 1 つのコマンドを読み取り、実行した後、終了します。
-u 置換するときに、設定されていないパラメーターをエラーとして処理します。
-v シェル入力行を読み取りながら出力します。
-x 実行されたコマンドとその引数を出力します。

ファイル

項目 Description
/usr/bin/ksh Korn シェルへのパス名が入っています。
/tmp/sh* シェルがオープンされたときに作成される一時ファイルが入っています。