ksh コマンド

目的

Korn シェルを起動します。

構文

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

注: フラグの前に - (マイナス) ではなく + (プラス) を付けると、フラグがオフになります。

説明

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

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

注: KSH wait built in の動作は、 親待機 () API と似ています。

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

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

フラグ

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

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

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

ファイル

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