英語フランス語スペイン語

OnWorksファビコン

rksh93 - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーター上の OnWorks 無料ホスティング プロバイダーで rksh93 を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの 93 つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド rkshXNUMX です。

プログラム:

NAME


ksh、rksh、ksh93、rksh93 - KornShell、標準/制限付きコマンドおよびプログラミング
言語

SYNOPSIS


kshの [ ±abcefhikmnoprstuvxBCDP ] [ -R ファイル ] [ ±o オプション ] ... [ - ] [引数 ... ]
ルクシュ [ ±abcefhikmnoprstuvxBCD ] [ -R ファイル ] [ ±o オプション ] ... [ - ] [引数 ... ]

DESCRIPTION


クシュ 端末またはコンピュータから読み取られたコマンドを実行するコマンドおよびプログラミング言語です。
ファイルにソフトウェアを指定する必要があります。 ルクシュ コマンドインタープリタの制限付きバージョンです kshの; コマンドインタープリタ
kshの; 見る 呼び出し シェルへの引数の意味については以下を参照してください。

定義。
A メタキャラクター 次の文字のいずれかです。

; & ( ) < > 改行 スペース タブ

A ブランク   タブ または スペース 識別子 一連の文字、数字、または
文字またはアンダースコアで始まるアンダースコア。 識別子は以下のコンポーネントとして使用されます。
変数 名前。 あ vname で区切られた XNUMX つ以上の識別子のシーケンスです。 .
オプションで前に .。 Vname は関数名と変数名として使用されます。 あ 単語  
のシーケンス 文字 現在のロケールで定義されている文字セットからのものを除く
引用符なし メタキャラクター.

A command シェル言語の構文内の文字のシーケンスです。 シェル
各コマンドを読み取り、直接または呼び出しによって目的のアクションを実行します。
個別のユーティリティ。組み込みコマンドはシェルによって実行されるコマンドです。
別のプロセスを作成することなく、それ自体で実行できます。 一部のコマンドは純粋に組み込まれています。
利便性のため、ここでは説明しません。 シェル内で副作用を引き起こすビルトイン
パス検索を実行する前に見つかった環境とビルトイン (「 実行
以下)ここに記載されています。 歴史的な理由により、これらの組み込みの一部は動作します。
他の組み込みとは異なり、呼び出されます 特別 ビルトイン.

コマンド
A 単純なコマンド 変数割り当てのリストです (「 変数 割り当て 以下)または
のシーケンス ブランク 変数割り当てのリストが前に続く可能性のある区切られた単語
(参照してください 環境 下に)。 最初の単語は、実行するコマンドの名前を指定します。
以下に指定されている場合を除き、残りの単語は引数として呼び出されたメソッドに渡されます。
指示。 コマンド名は引数 0 として渡されます (「 exec(2))。 の シンプルな-
command はその終了ステータスです。 正常に終了した場合は 0 ~ 255。 256+シグナム 終了した場合
異常 (終了ステータスに対応するシグナルの名前は、次の方法で取得できます)
  -l オプションの kill 組み込みユーティリティ)。

A パイプライン XNUMX つ以上のシーケンスです コマンド で区切られた 。 の標準出力
最後を除く各コマンドは、 パイプ(2)次の標準入力へ
指示。おそらく最後のコマンドを除いて、各コマンドは別個のプロセスとして実行されます。シェル
最後のコマンドが終了するまで待ちます。 パイプラインの終了ステータスは終了ステータスです
最後のコマンドの パイプの失敗 オプションが有効になっています。 各パイプラインの前に置くことができます
を通じて、タンピングされたコーヒーベッドの上から均一にフィルターバスケットの内の粉に浸透していきます。 予約済み 単語 ! これにより、パイプラインの終了ステータスが 0 になります。
最後のコマンドの終了ステータスがゼロ以外の場合は 1、最後のコマンドの終了ステータスの場合は XNUMX
0です。

A リスト で区切られた XNUMX つ以上のパイプラインのシーケンスです。 ;, &, ⎪&, &&または ⎪⎪,
オプションで終了 ;, &または ⎪&。 これらXNUMXつのシンボルのうち、 ;, &, ⎪& 等しい
の優先順位よりも低い優先順位 &&⎪⎪。 シンボル &&⎪⎪ も等しいです
優先権。 セミコロン (;) 先行するパイプラインが順次実行されます。 の
アンパサンド(&) は、先行するパイプライン (つまり、シェル) の非同期実行を引き起こします。
ありません そのパイプラインが完了するまで待ちます)。 象徴 ⎪& 非同期実行が発生する
親シェルに確立された双方向パイプを備えた先行パイプライン。 の
生成されたパイプラインの標準入出力は、
リダイレクト演算子を適用することによる親シェル <&>& 引数付き p コマンドとによって
-p 組み込みコマンドのオプション read印刷 後述します。 象徴 &&
(⎪⎪)原因 リスト これに続くパイプラインは、前のパイプラインが
ゼロ(ゼロ以外)の値。 XNUMX つ以上の改行が リスト セミコロンの代わりに、
コマンドを区切るために。 最初 項目 第一の パイプラインリスト それは単純なことです
コマンドがリダイレクトで始まっておらず、コマンド内で発生していません。 while, までまたは if
リスト、先頭にセミコロンを付けることができます。 このセミコロンは、次の場合を除き無視されます。 見せて オプション
で説明されているように有効になります。 セッションに 以下に内蔵されています。

A command は、単純なコマンドまたは次のいずれかです。 特に明記しない限り、
コマンドによって返される値は、実行された最後の単純コマンドの値です。


for vname [ in 単語 ...] ;行う リスト ;終わり
毎回 for コマンドが実行されると、 vname 次に設定されています 単語 から取ら
in 単語 リスト。 もしも in 単語 ... が省略された場合、 for コマンドはを実行します do
リスト から始まる位置パラメータごとに XNUMX 回ずつ設定されます。 1 (参照してください
拡張 下に)。 リストに単語がなくなると実行は終了します。

for (( [式1] ; [式2] ; [式3] )) ;行う リスト ;終わり
算術式 式1 が最初に評価されます (「 算術 評価
下に)。 算術式 式2 評価されるまで繰り返し評価されます
ゼロになり、ゼロ以外の場合、 リスト が実行され、算術式が実行されます 式3
評価されました。 いずれかの式が省略された場合、1 と評価されたかのように動作します。

select vname [ in 単語 ...] ;行う リスト ;終わり
A select コマンドは標準エラー (ファイル記述子 2) に次のセットを出力します。 単語s,
それぞれの前に数字が付きます。 もし in 単語 ... が省略された場合、位置
から始まるパラメータ 1 代わりに使用されます (「 拡張 未満)。 NS
PS3 プロンプトが出力され、標準入力から行が読み取られます。 この行なら
リストされているいずれかの番号で構成されます 単語s、次に変数の値
vname に設定されています 単語 この番号に対応します。 この行が空の場合、
選択リストが再度印刷されます。 それ以外の場合は変数の値 vname 設定されている
〜へ ヌル。 標準入力から読み取った行の内容は、
変数 応答を選択します。 リスト まで、選択ごとに実行されます。 破る or の終わり-
file に遭遇します。 もし 応答 変数はに設定されています ヌル の実行によって
リストを選択すると、選択リストが印刷されてから、 PS3 のプロンプト
次の選択。

場合 単語 in [[(]パターン [ ⎪ パターン ]..。 ) リスト ;; ]..。 ESAC
A 場合 コマンドはを実行します リスト 最初のものに関連する パターン マッチする
単語。 パターンの形式はファイル名生成に使用されるものと同じです
(参照してください File Name 世代 未満)。 NS ;; 演算子が実行を引き起こす 場合 〜へ
終了します。 もし ;& の代わりに使用されます ;; 次に続くリストがあれば、それは
実行されました。

if リスト ;それから リスト [ ;エリフ リスト ;それから リスト ] ... [ ;それ以外 リスト ] ;fi
この リスト フォロー中 if が実行され、ゼロの終了ステータスが返された場合、 リスト
最初に続いて その後 が実行されます。 それ以外の場合は、 リスト フォロー中 elif is
実行され、その値がゼロの場合、 リスト 次に続く その後 実行されます。
連続して失敗するたびに elif リスト ほかに リスト 実行されます。 の場合 if リスト 持っています
ゼロ以外の終了ステータスがあり、 ほかに リスト、 そうして if コマンドはゼロを返します
終了ステータス。

while リスト ;行う リスト ;終わり
まで リスト ;行う リスト ;終わり
A while コマンドは繰り返し実行されます while リスト そして、終了ステータスが
リストの最後のコマンドがゼロの場合、 do リスト; それ以外の場合はループ
終了します。 にコマンドがない場合は、 do リスト が実行されると、 while command
ゼロの終了ステータスを返します。 まで の代わりに使用できます while ループを無効にする
終了テスト。

((表現))
この 表現 説明されている算術評価のルールを使用して評価されます
下に。 算術式の値がゼロ以外の場合、終了ステータスは次のようになります。
0、それ以外の場合、終了ステータスは 1 です。

(リスト)
実行する リスト 別の環境で。 隣接する XNUMX つが開いている場合は、
ネストには括弧が必要です。次のように評価されるのを避けるためにスペースを挿入する必要があります。
前述の算術コマンド。

{ リスト;}
リスト 単に実行されるだけです。 メタキャラクターとは異なることに注意してください (), {}  
予約済み 単語s および は行の先頭または後に指定する必要があります。 ; に順番に
認識される。

[[ 表現 ]]
評価します 表現 次の場合はゼロの終了ステータスを返します。 表現 それは本当です。 見る
条件付きの 以下の説明については、 表現.

function 変数名 { リスト ;}
変数名 () { リスト ;}
によって参照される関数を定義します。 変数名。 その関数 変数名
〜を含む . は規律関数と呼ばれ、 変数名
最後の前に . 既存の変数を参照する必要があります。 関数の本体
リスト 間のコマンドの数 {}。 で定義された関数 function
変数名 構文は、 . 特別な組み込みコマンド
と同等の動作を取得するには、 変数名() 構文を使用して定義しました。
(その他のオプションは 機能 以下。)

名前空間 識別子 { リスト ;}
名前空間を定義または使用します 識別子 そしてコマンドを実行します リスト この内
ネームスペース。 (見る Name スペース 以下。)

& [ [ arg..。 ]]
その後の原因 リスト コマンドが終了する & バックグラウンドジョブに配置される
プール 。 場合 省略すると、デフォルトの名前のないプールが使用されます。 名前付きコマンド
バックグラウンド プールはリモートで実行できます。

時間 [ パイプライン ]
If パイプライン 現在のシェルのユーザーおよびシステム時刻が省略されて完了します
子プロセスは標準エラーに出力されます。 さもないと、 パイプライン 実行され、
経過時間、ユーザー時間、システム時間も標準エラーに出力されます。
この タイムフォーマット 変数は、タイミングを指定するフォーマット文字列に設定できます
という情報が表示されるはずです。 見る シェル(Shell) Variables の説明については以下をご覧ください
  タイムフォーマット 変数に保存します.

次の予約語は、最初の語である場合にのみ予約語として認識されます。
コマンドの一部であり、引用符で囲まれていません。

if その後 ほかに elif fi 場合 ESAC for while まで do 行われ { } function select 時間 [[ ]] !

変数 割り当て。
XNUMX つ以上の変数の割り当ては、単純なコマンドを開始したり、
タイプセット, 列挙型, exportまたは 読み取り専用 特別な組み込みコマンドおよび他のコマンド
宣言コマンドはタイプとして作成されます。 の構文 割り当て の形式は次のとおりです。

変数名=単語
変数名[単語]=単語
間にスペースを入れることはできません 変数名= または =単語.

変数名=(assign_list)
間にスペースを入れることはできません 変数名=。 変数 変数名 未設定です
課題の前に。 アン assign_list 次のいずれかになります。
単語 ...
インデックス付き配列の割り当て。
[単語]=単語 ...
連想配列の代入。 が前にある場合 タイプセット -a この意志
代わりにインデックス付き配列を作成してください。
割り当て ...
複合変数の割り当て。 これにより複合変数が作成されます
変数名 フォームのサブ変数を使用 変数名.ここで、 is
の名前の部分 割り当て。 の価値 変数名 含まれます
すべての割り当て要素。 サブへの追加の割り当て
の変数 変数名 の値の一部としても表示されます。
変数名。 いいえの場合 割り当てが指定されており、 変数名 aになる
サブシーケンスの子要素を定義できる複合変数。
タイプセット [オプション] 割り当て ...
ネストされた変数の割り当て。 複数の割り当てを指定できます
それぞれを ;。 以前の値は設定されていません
課題の前に。 他の宣言コマンドなど 読み取り専用、
列挙型、および他の宣言コマンドを代わりに使用できます。
タイプセット.
. ファイル名
に含まれる割り当てコマンドを含めます。 ファイル名.

また、 += の代わりに使用できます = に追加または追加することを意味します
以前の値。 いつ += 算術型に適用されます。 単語 として評価されます
算術式を作成し、現在の値に加算します。 文字列変数に適用すると、
によって定義される値 単語 が値に追加されます。 複合代入の場合、
以前の値は設定解除されておらず、新しい値は指定された現在の値に追加されます。
型に互換性があること。

変数代入の右側は、以下にリストされているすべての展開を受けます。
ただし、単語の分割、中括弧の展開、ファイル名の生成は除きます。 左側のとき
は代入であり、複合変数であり、右手は複合の名前です
変数の場合、右側の複合変数がコピーされるか、複合変数に追加されます。
左側の変数。

コメント。
で始まる言葉 # その単語とそれに続くすべての文字を改行にします
無視されること。
エイリアシング。
各コマンドの最初の単語は、 alias もし alias このため
という言葉が定義されました。 アン alias 名前は任意の数の文字で構成されます。
メタキャラクタ、引用符文字、ファイル拡張文字、パラメータ拡張および
コマンド置換文字、文字 /=。 置換文字列は、
上記のメタキャラクターを含む有効なシェル スクリプトが含まれています。 最初の言葉
置換されたテキスト内の各コマンド (置換途中のコマンドを除く)
置き換えられると、エイリアスがテストされます。 別名値の最後の文字が ブランク
そうすると、エイリアスに続く単語もエイリアスの置換についてチェックされます。 別名
組み込みコマンドの再定義には使用できますが、予約されたコマンドの再定義には使用できません。
上に挙げた言葉。 エイリアスは、次のコマンドで作成およびリストできます。 alias コマンドで可能です
で削除されました エイリアス
エイリアシング スクリプトの実行中ではなく、スクリプトの読み取り時に実行されます。 したがって、
エイリアスが有効になると、 alias 定義コマンドは、
エイリアスを参照するコマンドが読み取られます。
次のエイリアスはシェルにコンパイルされますが、設定解除または再定義することができます。
autoload='タイプセット -ふ'
コマンド='コマンド "
複合='タイプセット -C'
fc=履歴
float='タイプセット -lE'
関数='タイプセット -f'
ハッシュ='エイリアス -t ――』
歴史='履歴 -l'
整数='タイプセット -リ'
nameref='タイプセット -n'
ノハプ='ノハプ "
r='ヒスト -s'
リダイレクト='コマンド 実行する
ソース='コマンド
停止=「殺す」 -s 停止'
サスペンド=「キル」 -s STOP $$'
回='{ { 時間;} 2>&1;}'
type='どこから -v'

チルダ 代用。
エイリアスの置換が実行された後、各単語が次の文字で始まるかどうかがチェックされます。
引用されていない 。 チルダ置換の場合は、 単語 も指します 単語 パラメータの部分
拡張(参照 拡張 下に)。 そうであれば、a までの単語は / チェックされる
パスワード データベース内のユーザー名と一致するかどうかを確認します (「 パスワードの取得(3).) 一致する場合
が見つかった場合、 一致したログイン名は、
一致したユーザー。 一致するものが見つからない場合、元のテキストは変更されないままになります。 あ それ自体で、
または目の前で /、は次のように置き換えられます $ HOME。 A 続いて + or - に置き換えられます
の値 $障害者$ OLDPWD

また、拡張する際には、 変数 割り当て, チルダ 置換が試行されるのは、
割り当ての値は a で始まります 、そして、 の後に表示されます :を選択します。 : また
を終了します ログイン名。

Command 代用。
括弧で囲まれ、その前にドル記号が付いているコマンド リストからの標準出力
( $(リスト) )、またはドル記号 ( ${ リスト;} )、または次のペアで
重大なアクセント (``) 単語の一部または全部として使用できます。 末尾の改行は削除されます。
XNUMX 番目のケースでは、 {} は予約語として扱われるため、 { 従わなければなりません
によって ブランク} 行の先頭に置くか、行の後ろに置く必要があります。 ;。 XNUMX番目に
(廃止された) 形式では、引用符間の文字列が特殊な引用符文字として処理されます。
コマンドが実行される前 (「 引用 下に)。 コマンド置換 $(猫 ファイル)
同等ですがより高速に置き換えることができます $(。 コマンド置換 $(n<#)
ファイル記述子の現在のバイトオフセットに展開されます n。 第二形態を除いて、
コマンド リストはサブシェルで実行されるため、副作用は発生しません。のために
第二形態、最終形態 } トークンの後の予約語として認識されます。

算術 代用。
二重括弧で囲まれ、その前にドル記号 ( $(())
) は、二重括弧内の算術式の値に置き換えられます。

プロセス 代用。
フォームの各コマンド引数 <(リスト) or >(リスト) プロセスを実行します リスト 非同期的に
のいくつかのファイルに接続されています / dev / fd このディレクトリが存在する場合、そうでない場合は一時的な FIFO
ディレクトリ。 このファイルの名前がコマンドの引数になります。 フォームの場合
  > が選択されている場合、このファイルに書き込むと入力が提供されます。 リスト。 場合 < 使用されている、
引数として渡されたファイルには、 リスト プロセス。 のために
例、

paste <(カット -f1 file1) <(カット -f3 file2) | tee >(プロセス1) >(プロセス2)

カット ファイルのフィールド 1 と 3 file1file2 それぞれ、 ペースト 結果
一緒にプロセスに送信します プロセス1プロセス2、上に置くだけでなく、
標準出力。 コマンドに引数として渡されるファイルは、
UNIXです パイプ(2) したがって、次のことを期待するプログラム シークファイル上の(2)は機能しません。

フォームの処理置換 <(リスト) と一緒に使用することもできます < リダイレクト演算子
これにより、次の出力が発生します リスト 標準入力または任意のファイルの入力にする
記述子が指定されています。

拡張。
A パラメーター   変数、XNUMX つ以上の数字、または任意の文字 , @, #, ?, -, $,
!。 A 変数 で表されます vname。 変数を作成するには、 vname 〜を含む .,
その変数 vname 最後のものより前のすべてで構成されます . すでに存在している必要があります。 あ
変数 ています そしてゼロ以上 属性. Variables 割り当てることができます
属性 使用して、 タイプセット 特別な組み込みコマンド。 でサポートされている属性
シェルについては後で説明します。 タイプセット 特別な組み込みコマンド。 エクスポートされた変数
値と属性を環境に渡します。

シェルは、インデックス付き配列と連想配列の両方をサポートします。 配列変数の要素
によって参照されています 添字。 A 添字 インデックス付き配列の場合は、
算術 表現 (参照してください 算術 評価 以下) [ フォルダーとその下に ]。 割り当てるには
値をインデックス付き配列に変換するには、使用します vname=( ...) or セッションに -A vname ... 。 値
負でないすべての添え字は 0 ~ 4,194,303 の範囲内である必要があります。 否定的
添字は現在の最大インデックス +1 からのオフセットとして扱われるため、-1 は参照します。
最後の要素。 インデックス付き配列は次のように宣言できます。 -a オプション 植字。 索引
配列を宣言する必要はありません。 有効な添え字を持つ変数への参照はすべて正当です
必要に応じて配列が作成されます。

連想配列は次のように作成されます。 -A オプション 植字。 A 添字 のために
連想配列は、で囲まれた文字列で表されます。 [].

添え字なしで配列を参照することは、添え字を付けて配列を参照することと同じです。
下付き文字 0。

この 変数 次のように書くことで割り当てることができます。

vname= [ vname= ]..。

or
vname[添字]= [ vname[添字]= ]..。
前後にスペースを入れることはできないことに注意してください。 =.
によって割り当てられた属性 タイプセット 特別な組み込みコマンドは、
配列。 配列要素には、単純な変数、複合変数、または配列を指定できます。
変数。 インデックス付き配列の要素は、インデックス付き配列または連想配列のいずれかになります。
配列。 連想配列の要素もどちらかになります。 配列を参照するには
配列要素の一部である要素の場合は、括弧内の添え字を連結します。 のために
たとえば、 foob​​ar として定義される連想配列の要素
インデックス付き配列の XNUMX 番目の要素を使用するには、 ${vname[3][foob​​ar]}
A 名前参照 別の変数への参照である変数です。 nameref が作成される
-n の属性 タイプセット。 実行時の変数の値 タイプセット
command は、nameref 変数が指定されるたびに参照される変数になります。
使用済み。 nameref の名前には、 .。 変数名や関数名の場合
〜を含む .、および名前の最初の部分まで . nameref の名前と一致します。
参照される変数は、nameref 部分を変数の名前に置き換えることによって取得されます。
nameref によって参照される変数。 nameref がインデックスとして使用される場合、 for ループ、
名前参照は、リスト内の各項目に対して確立されます。 nameref は便利な機能を提供します。
名前が引数として渡される関数内の変数を参照する方法。
関数。 たとえば、変数の名前が最初の引数として渡された場合、
関数、コマンド
タイプセット -n 変数=$1
関数内で参照と代入が行われます。 VAR 参考になることと、
名前が関数に渡された変数への代入。
いずれかの浮動小数点属性の場合、 -E, -Fまたは -X、または整数属性、 -iであり、
用意する vname、 そうして は、以下に説明する算術評価の対象となります。
位置パラメータ、つまり数値で示されるパラメータには、 セッションに
特別な組み込みコマンド。 パラメータ $0 シェルが次の場合に引数 XNUMX から設定されます。
呼び出されます。
キャラクター $ 代替可能なものを導入するために使用されます パラメータ.
${パラメーター}
シェルは次からすべての文字を読み取ります。 ${ マッチングに } 同じことの一部として
中括弧やメタ文字が含まれている場合でも、単語。 値がある場合は、
パラメータが代入されます。 中かっこは次の場合に必要です。 パラメーター の後に
名前の一部として解釈されない文字、数字、またはアンダースコア、
変数名に .。 中括弧は変数の場合にも必要です。
算術式または条件式の一部でない限り、添字が付きます。
表現。 もし パラメーター XNUMX つ以上の数字である場合、それは位置パラメータです。
複数の桁の位置パラメータは中括弧で囲む必要があります。 もし
パラメーター is or @、次に、以下で始まるすべての位置パラメータ $1持っている
置換されます (フィールド区切り文字で区切られます)。 配列の場合 vname  
最後の添字 @、または次の形式のインデックス配列の場合 sub1 .. sub2。 が使用されている場合、
間の各要素の値 sub1sub2 包括的 (またはすべての要素
for @) は、値の最初の文字で区切られて置換されます。 IFS.
$ {#パラメーター}
If パラメーター is or @、位置パラメータの数が代入されます。
それ以外の場合は、 パラメーター 代用されます。
$ {#vname[*]}
$ {#vname[@]}
配列内の要素の数 vname 代用されます。

${@vname}
タイプ名に展開されます (「 種類 Variables 以下) または変数の属性
によって参照される vname.
${!vname}
によって参照される変数の名前に展開されます。 vname。 これは次のようになります vname
時を除いて vname は名前参照です。
${!vname[添字]}
そうでない場合は、添え字の名前に展開されます。 添字 is *, @。 または形式の sub1 ..
sub2。 時 添字 is *、配列添字のリスト vname が生成されます。
配列ではない変数の場合、変数が設定されている場合、値は 0 になります。
それ以外の場合は null です。 いつ 添字 is @で使用される場合を除き、上記と同じです。
二重引用符で囲んだ場合、各配列の添字は個別の引数を生成します。 いつ 添字 is
フォームの sub1 .. sub2 間の添え字のリストに展開されます。 sub1
sub2 と同じ引用ルールを使用する包括的 @.
${!接頭辞*}
名前が で始まる変数の名前に展開されます。 接頭辞.
${パラメーター:-単語}
If パラメーター が設定されており、null でない場合は、その値を代入します。 それ以外の場合は代替
単語.
${パラメーター:=単語}
If パラメーター が設定されていないか、null の場合は、次のように設定します。 単語; パラメータの値
その後、置換されます。 位置パラメータをこの方法で割り当てることはできません。
${パラメーター:?単語}
If パラメーター が設定されており、null でない場合は、その値を代入します。 それ以外の場合は、印刷します
単語 そしてシェルを終了します (対話型でない場合)。 もし 単語 が省略されると、
標準メッセージが出力されます。
${パラメーター:+単語}
If パラメーター 設定されており、null ではない場合は置き換えます 単語; それ以外の場合は代替
何もありません。
上記では、 単語 置換文字列として使用しない限り評価されないため、
つまり、次の例では、 pwd の場合にのみ実行されます d 設定されていないか、null です:
print ${d:-$(pwd)}
コロン ( : ) 上記の式から が省略されている場合、シェルはチェックのみを行います。
かどうか パラメーター 設定されているかどうか。
${パラメーター:オフセット:長さ}
${パラメーター:オフセット}
の値の部分に展開されます。 パラメーター 文字から始まる
(から数えて 0) 展開して決定 オフセット 算術式として、そして
算術式によって決定される文字数で構成されます
によって定義されます 長さ XNUMX 番目の形式では、値の残りが使用されます。 もし
オフセット の終わりから逆算して パラメーター。 XNUMX つ以上のことに注意してください
ブランクシェルが解釈できないようにするには、マイナス記号の前に s が必要です
演算子として :-。 場合 パラメーター is or @、または によってインデックス付けされた配列名です。 or @,
その後 オフセット長さ 配列のインデックスと要素数を参照する
それぞれ。 否定的 オフセット 最高値よりも大きい値を基準として計算されます
インデックス付き配列の添字。 関連する配列の順序は指定されていません。
${パラメーター#パターン}
${パラメーター##パターン}
シェルの場合 パターン の値の先頭と一致します パラメーター、 そうして
この展開の値は、 パラメーター 一致した部分で
削除されました。 それ以外の場合はこの値 パラメーター が置き換えられます。 最初の形式では
最小の一致パターンが削除され、XNUMX 番目の形式では最大の一致パターンが削除されます。
一致するパターンが削除されます。 いつ パラメーター is @, *、または配列変数
添字 @ or *、部分文字列操作は各要素に順番に適用されます。

${パラメーター%パターン}
${パラメーター%%パターン}
シェルの場合 パターン の値の末尾と一致します パラメーター、次にの値
この拡張は、 パラメーター 一致した部分が削除されます。
それ以外の場合は、次の値を代入します パラメーター。 最初の形式では、最小の
一致するパターンは削除され、XNUMX 番目の形式では、最大の一致パターンは次のようになります。
削除されました。 いつ パラメーター is @, *、または添字付きの配列変数 @ or *
部分文字列操作は各要素に順番に適用されます。

${パラメーター/パターン/string}
${パラメーター//パターン/string}
${パラメーター/#パターン/string}
${パラメーター/%パターン/string}
拡充 パラメーター の最長一致を置き換えます パターン 与えられた 文字列。
それぞれの発生 \n in string の部分に置き換えられます パラメーター それ
に一致する n- 番目のサブパターン。 最初の形式では、最初に出現したもののみ
パターン 置き換えられます。 XNUMX 番目の形式では、それぞれの一致は パターン に置き換えられます
与えられた 文字列。 XNUMX 番目の形式は、パターンの一致を先頭に制限します。
一方、XNUMX 番目の形式はパターン一致を文字列の末尾に制限します。
日時 string null の場合、 パターン 削除され、 / の前に string かもしれません
省略される。 いつ パラメーター is @, *、または添字付きの配列変数 @ or *,
置換操作は各要素に順番に適用されます。 この場合、
string の部分 単語 要素ごとに再評価されます。

次のパラメータは、シェルによって自動的に設定されます。
# XNUMX 進数の位置パラメーターの数。
- 呼び出し時またはシェルによって提供されるオプション セッションに
? 最後に実行されたコマンドによって返された XNUMX 進数値。
$ このシェルのプロセス番号。
_ 当初、次の値は _ シェルまたはスクリプトの絶対パス名です。
に渡されたとおりに実行されます 環境。 続いて割り当てられるのは
前のコマンドの最後の引数。 このパラメータは次のように設定されていません
非同期のコマンド。 このパラメータは、
マッチングの名前 MAIL メールをチェックするときのファイル。 を定義する際に、
複合変数または型、 _ コンパウンドへの参照として初期化されます
変数または型。規律機能が呼び出されると、 _ 初期化されています
この関数の呼び出しに関連付けられた変数への参照として。
ついにいつ _ 型の最初の変数の名前として使用されます
定義では、新しい型は最初の変数の型から派生します (「
種類 Variables 下に。)。
! 最後のバックグラウンドのプロセス ID またはプール名とジョブ番号
コマンドが呼び出されるか、バックグラウンドで実行される最新のジョブ bg
組み込みコマンド。 名前付きプールで開始されたバックグラウンド ジョブは、
フォーム プール. コラボレー プール はプール名であり、 はジョブ番号です
そのプールの中で。
.sh コマンド
を処理するとき、 DEBUG トラップ、この変数には現在のコマンドが含まれます
今まさに走り出そうとしているライン。
.sh.edchar
この変数には、キーボード文字 (またはキーボード文字のシーケンス) の値が含まれます。
最初の文字が ESC の場合は文字、ASCII 033) それはされています
を処理するときに入力される キーボード トラップ(参照 キー バインディング 下に)。 値が
トラップ アクションの一部として変更された場合、新しい値がキーを置き換えます。
トラップの原因となったキー シーケンス(またはキー シーケンス)。
.sh.edcol
最新の時点でのカーソルの文字位置 キーボード
トラップ。
.sh.edmode
値は、処理時に ESC に設定されます。 キーボード 中にいる間の罠 vi insert
モード。 (見る Vi 編集 モード 以下。)それ以外の場合は、 .sh.edmode の場合はnullです
を処理する キーボード トラップ。
.sh.edtext
最新の入力時の入力バッファ内の文字 キーボード
トラップ。 処理していない場合、値は null になります。 キーボード トラップ。
.sh.ファイル
現在のコマンドを含むファイルのパス名。
.sh.fun
実行されている現在の関数の名前。
.sh.レベル
現在の関数の深さに設定します。これは DEBUG トラップ内で変更できます
コンテキストを指定されたレベルに設定します。
.sh.lineno
DEBUG トラップ中に、各関数の呼び出し元の行番号に設定されます。
.sh.マッチ
最新の一致とサブパターンの一致を保存するインデックス付き配列
条件付きパターンの一致後、および変数の展開後
演算子を使用する #, %または /を選択します。 0-th 要素は完全一致を格納します
i- 番目。 要素には、 i- 番目のサブマッチ。 の .sh.マッチ 変数
展開された変数に新しい値が割り当てられると、設定は解除されます。
.sh.math
算術関数の定義に使用されます (「 算術 評価 下)。
ユーザー定義の算術関数のリストを保存します。
.sh.name
規律関数実行時の変数名に設定します。
呼び出されます。
.sh.添え字
専門分野の実行時の変数の名前の添字に設定されます。
関数が呼び出されます。
.sh.サブシェル
サブシェルとコマンド置換の現在の深さ。
.sh.値
実行時の変数の値に設定します。 セッションに or アペンド
規律機能が呼び出されます。 ユーザー定義の算術関数が
呼び出された場合、の値 .sh.値 保存され、 .sh.値 Long double に設定されています
精度浮動小数点。 .sh.値 関数が戻ると復元されます。
.sh.バージョン
このシェルのバージョンを識別する値に設定します。
KSH_バージョン
への名前参照 .sh.バージョン.
リネノ 実行中のスクリプトまたは関数内の現在の行番号。
OLDPWD によって設定された以前の作業ディレクトリ cd
オプターグ によって処理された最後のオプション引数の値 取得 内蔵

最適化 によって処理された最後のオプション引数のインデックス 取得 内蔵

PPID シェルの親のプロセス番号。
PWD によって設定された現在の作業ディレクトリ cd
RANDOM この変数が参照されるたびに、均一にランダムな整数が返されます。
0 ~ 32767 の範囲で生成されます。 ランダムな配列
数値を初期化するには、数値を代入します。 RANDOM.
応答 この変数は、 select 声明と、 read 内蔵
引数が指定されていない場合のコマンド。
SECONDS
この変数が参照されるたびに、シェルからの秒数が
呼び出しが返されます。 この変数に値が割り当てられている場合、
参照時に返される値は、割り当てられた値に値を加えた値になります。
割り当てからの秒数。
SHLVL シェルが呼び出されるたびに増分される整数変数。
輸出された。 もし SHLVL シェルが呼び出されたときに環境に存在しない場合、
1に設定されます。

次の変数がシェルによって使用されます。
CDPATH の検索パス cd
COLUMNS
この変数が設定されている場合、その値は編集の幅を定義するために使用されます。
シェル編集モードと印刷用のウィンドウ select 一覧表示します。
環境変数EDITOR Status ビジュアル 変数が設定されていない場合、この変数の値は
で説明されているパターンをチェックしました ビジュアル 以下と
対応する編集オプション (特殊コマンドを参照) セッションに 以下)になります
に。
ENV この変数が設定されている場合、パラメータ展開、コマンド置換、および
値に対して算術置換が実行されてパス名が生成されます
シェルが対話的に呼び出されたときに実行されるスクリプトの内容
(参照してください 呼び出し 下に)。 このファイルは通常、次の用途に使用されます。 aliasfunction
定義。 デフォルト値は次のとおりです $HOME/.kshrc。 をサポートするシステムでは、
システム全体 /etc/ksh.kshrc 初期化ファイル (ファイル名が生成された場合)
の拡大によって ENV 〜で始まる /./ or ././ システム全体
初期化ファイルは実行されません。
FC編集 のデフォルトのエディタ名の廃止された名前 シーッ FC編集 is
時には使用されません ヒストディット 設定されています。
無視する
次の場合に無視されるファイル名のセットを定義するパターン。
ファイル名のマッチングを実行します。
FPATH 関数定義の検索パス。 このパス内のディレクトリは次のとおりです。
関数またはコマンドと同じ名前のファイルを検索したとき
で機能します -u 属性が参照されていて、コマンドが参照されていない場合
見つかった。 そのコマンドの名前を持つ実行可能ファイルが見つかった場合は、
現在の環境で読み取られて実行されます。 とは異なり パス
現在のディレクトリは次のように明示的に表す必要があります。 . によってではなく
隣接 : 文字または始まりまたは終わり :.
HISTCMD
履歴ファイル内の現在のコマンドの番号。
ヒストディット
のデフォルトのエディタ名の名前。 シーッ
ヒストファイル
シェルの呼び出し時にこの変数が設定されている場合、値は
コマンド履歴を保存するために使用されるファイルのパス名 (「
Command 再入国 下)。
履歴サイズ
シェルの呼び出し時にこの変数が設定されている場合、
このシェルでアクセスできる、以前に入力したコマンドは次のようになります。
この数値以上です。 デフォルトは 512 です。
ホーム のデフォルトの引数 (ホーム ディレクトリ) cd
IFS 内部フィールド区切り文字、通常は スペース, タブ, 改行 使用されている
コマンド置換またはパラメータ拡張の結果を分離するため、および
組み込みコマンドを使用してフィールドを区切る read。 の最初の文字
  IFS 変数は、引数を区切るために使用されます。 「$∗」 置換
(参照してください 引用 下に)。 それぞれの単一の発生 IFS の文字
分割される文字列。 イススペース 文字クラスと任意の
隣接する文字 IFS それは イススペース 文字クラス、区切り
フィールド。 XNUMX つ以上の文字 IFS に属する イススペース 文字
クラス、フィールドを区切ります。 また、同じであれば、 イススペース キャラクターが登場
連続して内側に IFS、この文字は、
イススペース クラスなので、 IFS 二つからなる タブ 文字、次に XNUMX 文字
隣接 タブ NULL フィールドは文字で区切られます。
ジョブマックス この変数は、バックグラウンド ジョブを実行できる最大数を定義します。
一度に実行します。 この制限に達すると、シェルはジョブが完了するまで待機します。
新しい仕事を開始する前に完了してください。
言語 この変数は、そうでないカテゴリのロケール カテゴリを決定します。
で始まる変数で具体的に選択される LC_ or 言語.
LC_ALL この変数は、 言語 変数とその他 LC_
変数に保存します.
LC_COLLATE
この変数は、文字照合のロケール カテゴリを決定します。
情報を表示します。
LC_CTYPE
この変数は、文字処理のロケール カテゴリを決定します。
機能。 パターン マッチングの文字クラスを決定します (「
File Name 世代 下)。
LC_NUMERIC
この変数は、小数点のロケール カテゴリを決定します。
文字。
LINES この変数が設定されている場合、その値は列の長さを決定するために使用されます。
印刷用 select リスト。 選択リストは約まで垂直に印刷されます。
XNUMX分のXNUMX LINES 行が埋まっています。
MAIL この変数がメールファイルの名前に設定されている場合   メールパス 変数
が設定されていない場合、シェルはユーザーにメールの到着を通知します。
指定されたファイル。
メールチェック
この変数は、シェルがチェックする頻度 (秒単位) を指定します。
によって指定されたファイルの変更時刻の変更
メールパス or MAIL 変数。 デフォルト値は 600 秒です。 とき
時間が経過すると、シェルは次のプロンプトを発行する前にチェックします。
メールパス
コロン( : ) で区切られたファイル名のリスト。 この変数が設定されている場合、
シェルは、指定されたファイルに対する変更をユーザーに通知します。
過去以内に発生した メールチェック 秒。 各ファイル名は次のとおりです。
続いて ? そして印刷されるメッセージ。 メッセージは
パラメータの展開、コマンド置換、および算術演算が行われます。
変数での置換 $_ ファイルの名前として定義されます。
かわった。 デフォルトのメッセージは、 フォーム 持ってる 電子メール in $_。
パス コマンドの検索パス (「 実行 下に)。 ユーザーは変更できない可能性があります
パス 以下で実行する場合 ルクシュ (除く) 。プロフィール)。
PS1 この変数の値は、パラメータ展開、コマンド用に展開されます。
プライマリ プロンプトを定義するための置換および算術置換
デフォルトでは `` である文字列$”。 キャラクター ! プライマリプロンプトで
文字列は次のように置き換えられます command 番号 (参照 Command 再入国 下に)。 二
の連続発生 ! シングルを生産します ! プロンプト文字列が
が印刷されます。
PS2 二次プロンプト文字列、デフォルトでは ``> ''。
PS3 内で使用される選択プロンプト文字列 select ループ、デフォルトでは ``#? ''。
PS4 この変数の値は、パラメータ評価、コマンド用に拡張されます。
置換および算術置換 および の各行の前に置かれます。
実行トレース。 デフォルトでは、 PS4 は「+ ”。 さらにいつ PS4 設定されていません、
実行トレースプロンプトも「」です。+ ''。
SHELL のパス名 shell 環境の中で保管されています。 呼び出し時に、
この変数のベース名は rsh, ルクシュまたは クルシュ、その後シェルは次のようになります
制限付き。
タイムフォーマット
このパラメータの値は、フォーマット文字列として使用され、
接頭辞が付くパイプラインのタイミング情報 時間 予約語はすべきです
表示される。 の % 文字により、拡張された形式シーケンスが導入されます
時間値またはその他の情報に変換します。 フォーマットシーケンスとその
意味は以下の通りです。
%% リテラル %.
%[p] [l] R 秒単位の経過時間。
%[p] [l] U ユーザーモードで費やされたCPU秒数。
%[p] [l] S システムモードで費やされたCPU秒数。
%P CPU の割合。(U + S) / R として計算されます。

括弧はオプションの部分を示します。 オプションの p を指定する数字です
  精度、小数点以下の小数桁数。 あ
値が 0 の場合、小数点や小数点は出力されません。 多くてもXNUMXつまで
小数点以下の桁数を表示できます。 の値 p 3より大きい
は 3 として扱われます。 p が指定されていない場合、値3が使用されます。

オプション l より長い形式を指定します。これより長い場合は時間を含みます。
フォームのゼロ、分、秒 HHhMMmSS.FFs. の値 p
分数が含まれるかどうかを決定します。

他のすべての文字は変更せずに出力され、末尾の改行は
追加した。 設定されていない場合、デフォルト値、 $'\nreal\t%2lR\nuser\t%2lU\nsys%2lS',
使用されている。 値が null の場合、タイミング情報は表示されません。

TMOUT ゼロより大きい値に設定されている場合、 TMOUT デフォルトのタイムアウト値になります
read 組み込みコマンド。 の select 複合コマンドは次の後に終了します
TMOUT 入力が端末からの場合は秒。 それ以外の場合、シェルは
規定の秒数以内に行が入力されない場合は終了します
端末からの読み取り中。 (シェルは次のようにコンパイルできることに注意してください。
この値の最大制限を超えることはできません)。

ビジュアル この変数の値がパターンと一致する場合 *[Vv][いい]*、 そうして vi
オプション (特殊コマンドを参照) セッションに 以下)がオンになっています。 値が一致する場合
パターン *gmacs* ,   gmacs オプションがオンになっています。 値が一致する場合
パターン *マック*、 そうして エマックス オプションがオンになります。 の値
ビジュアル の値を上書きします 編集者。

シェルはデフォルト値を以下に与えます。 パス, PS1, PS2, PS3, PS4, メールチェック, FC編集, TMOUT
IFS一方、 ホーム, SHELL, ENV, MAIL シェルによってはまったく設定されません(ただし、 ホーム is
によって設定されました ログイン(1))。 一部のシステムでは MAILSHELL によっても設定されます ログインとします。

フィールド 分割。
パラメータ展開とコマンド置換後の置換結果は次のようになります。
フィールド区切り文字をスキャンします ( IFS) と個別に分割します
そのような文字が含まれるフィールド。 明示的な null フィールド ("" or ) が保持されます。
暗黙的な null フィールド ( パラメータ 値やコマンドを持たないもの
出力のない置換) は削除されます。

Status ブレースエキスパンド (-B) オプションが設定されている場合、結果として得られる各フィールドは IFS  
XNUMX つ以上の中括弧パターンが含まれているかどうかを確認します。 {*,*}, {l1..l2} ,
{n1..n2} , {n1..n2% FMT} , {n1..n2 ..n3} または {n1..n2 ..n3%FMT} ここで、 * 任意のものを表します
キャラクター、 l1,l2 文字と n1,n2,n3 は符号付きの数字であり、 FMT 指定された形式です
によって使用される printf。 いずれの場合も、フィールドは、前に文字を追加することによって作成されます。
  { の後に文字を追加します } によって生成された各文字列に
間の文字 {}。 結果のフィールドがチェックされ、
ブレースのパターン。

最初の形式では、次の文字列ごとにフィールドが作成されます。 {,、 の間に ,,,
そして、の間 ,}。 で表される文字列 * 埋め込み一致を含めることができます {}
引用せずに。 それ以外の場合は、それぞれ {}   * 引用する必要があります。

秒の形式では、 l1l2 両方とも大文字か、両方とも小文字である必要があります
C ロケールの文字。 この場合、フィールドは文字ごとに作成されます。 l1
スルー l2.

残りのフォームでは、番号ごとにフィールドが作成されます。 n1 続けます
届くまで n2 インクリメント n1 by n3。場合 n3 は指定されていないため、次のように動作します
if n3 コラボレー 1 if n1<=n2-1 さもないと。 指定したフォームの場合 %FMT 任意の形式フラグ、
幅と精度を指定でき、 FMT 任意の指定子で終わることができます cdiouxX.
たとえば、 {a,z}{1..5..3%02d}{b..c}x 8つの分野に広がり、 a01bx, a01cx, a04bx,
a04cx, z01bx, z01cx, z04bxz4cx.

File Name 世代。
分割後、各フィールドで文字がスキャンされます。 , ?, (, [ を除いて -f
オプションが設定されました。 これらの文字のいずれかが出現すると、その単語は
パターン。 パターン文字を含む各ファイル名コンポーネントは、
そのディレクトリのパターンに一致する、辞書順にソートされた一連の名前。 いいえの場合
パターンに一致するファイル名が見つかった場合、ファイル名のそのコンポーネントが残されます。
パターンに接頭辞が付けられない限り変更されません。 〜(ん) この場合、次のように削除されます
以下で説明します。 もしも 無視する が設定されている場合、一致する各ファイル名コンポーネント
の値によって定義されるパターン 無視する 一致するファイル名を生成するときは無視されます。
... も無視されます。 もし 無視する 設定されていない場合、文字 .
各ファイル名のコンポーネントの先頭は、最初の文字が指定されていない限り無視されます。
このコンポーネントに対応するパターンは文字です . 自体。 他のものについては、
パターンマッチングの使用 /. 特別扱いはされません。

NULL 文字列を含む任意の文字列と一致します。 ファイル名に使用する場合
拡張の場合、 グロブスター オプションがオン、XNUMX つの隣接 はそれ自体で
すべてのファイルと、XNUMX 個以上のディレクトリおよびサブディレクトリに一致します。 もし
続いて / その場合、ディレクトリとサブディレクトリのみが一致します。
? 任意のXNUMX文字に一致します。
[...] 囲まれた文字のいずれかに一致します。 分離された文字のペア
by - は、このペア間の任意の文字と字句的に一致します。 もし
オープニングに続く最初の文字 [   ! or ^ その場合、どの文字もそうではありません
囲まれたものが一致します。 あ - を入れることで文字セットに含めることができます
最初または最後の文字として。
中で []、文字クラスは次の構文で指定できます。 [:class:]
ここで、 class は、ANSI-C 標準で定義されている次のクラスのいずれかです。
(ご了承ください 単語 に相当します アルナム プラスキャラクター _.)
アルナム アルファ ブランク コントロール グラフ 下側 印刷 ポイント スペース アッパー 単語
x桁
中で []、等価クラスは次の構文で指定できます。 [=c=]
これは、同じ主照合重みを持つすべての文字と一致します (
現在のロケールで定義されている)文字として c。 以内に [],
[.シンボル.] 照合記号と一致します シンボル.
A パターンリスト 互いに区切られた XNUMX つ以上のパターンのリストです。 & or .
A & すべてのパターンが一致する必要があることを意味しますが、 必要なパターンは XNUMX つだけです
一致する。 複合パターンは、次の XNUMX つまたは複数のサブパターンで形成できます。
パターン:
?(パターンリスト)
必要に応じて、指定されたパターンのいずれかと一致します。
*(パターンリスト)
指定されたパターンの XNUMX 個以上の出現と一致します。
+(パターンリスト)
指定されたパターンの XNUMX つ以上の出現と一致します。
{n}(パターンリスト)
マッチ n 指定されたパターンの出現。
{m,n}(パターンリスト)
からの一致 m 〜へ n 指定されたパターンの出現。 もし m 省略、 0
使用されます。 もし n 少なくとも省略されている m 出現箇所が一致します。
@(パターンリスト)
指定されたパターンの XNUMX つと正確に一致します。
!(パターンリスト)
指定されたパターンの XNUMX つを除くすべてに一致します。
デフォルトでは、各パターンまたはサブパターンは、一貫性のある可能な限り長い文字列と一致します。
全体的に最長の一致が生成されます。 複数の一致が考えられる場合、その XNUMX つが
文字列の先頭に最も近い開始位置が選択されます。 ただし、それぞれについて、
上記の複合パターン - の前に挿入できます ( 最短一致を引き起こす
指定する パターンリスト 使用する。

日時 パターンリスト 括弧内にバックスラッシュ文字が含まれています \ 扱われます
特に文字クラス内であっても。 すべての ANSI-C 文字エスケープは、
認識され、指定された文字と一致します。 さらに、次のエスケープシーケンス
認識されています:
\d 内の任意の文字と一致します。 とに提供されます。
\D にない文字と一致します。 とに提供されます。
\s 内の任意の文字と一致します。 スペース とに提供されます。
\S にない文字と一致します。 スペース とに提供されます。
\w 内の任意の文字と一致します。 単語 とに提供されます。
\W にない文字と一致します。 単語 とに提供されます。

フォームのパターン %(パターンペア(S)) ネストされた一致に使用できるサブパターンです
キャラクターの表現。 それぞれ パターンペア を含むことはできない XNUMX 文字のシーケンスです。
& or 。 最初 パターンペア の開始文字と終了文字を指定します。
マッチ。 その後のそれぞれの パターンペア の開始文字と終了文字を表します。
開始文字と終了文字をカウントするときにスキップされるネストされたグループ
一致します。 の最初の文字が入力されたときの動作は不定です。 パターンペア アルファです -
以下を除く数値:
D 終了文字により、このパターンの検索が終了します。
一致するものを見つけること。
E 終了文字をエスケープ文字として解釈させます。
L 終了文字が引用符文字として解釈されます。
一致を検索するときにすべての文字が無視されます。
Q 終了文字が引用符文字として解釈されます。
検索時に無視されるエスケープ文字以外のすべての文字
試合のために。
このように、 %({}Q"E\)、で始まる文字と一致します。 { マッチングまで } 見つからない
何かを数える { or } 二重引用符で囲まれた文字列か、エスケープ文字が前にある文字列
文字 \。 なし {} このパターンは任意の C 言語文字列と一致します。

複合パターン内の各サブパターンには、その位置に応じて 1 から始まる番号が付けられます。
( パターン内で。 シーケンス \nここで、 n は一桁であり、 \n の後に来る
n- 番目。 サブパターンは、サブパターン自体と同じ文字列に一致します。

最後に、パターンには次の形式のサブパターンを含めることができます。 〜(オプション:パターンリスト)ここで、
どちら オプション or :パターンリスト 省略可能です。 他の複合パターンとは異なり、これらは
サブパターンは、番号付きサブパターンにはカウントされません。 :パターンリスト 省略する必要があります
オプションについて F, G, N ,V 下。 もしも オプション が存在する場合、XNUMX つ以上で構成されます
を提出してください:
+ 次のオプションを有効にします。 これがデフォルトです。
- 次のオプションを無効にします。
E パターンの残りの部分では、次のような拡張正規表現構文が使用されます。
  egrep(1)コマンド。
F パターンの残りの部分では、 fgrep(1) 式の構文。
G パターンの残りの部分では、次のような基本的な正規表現構文を使用します。
grep(1)コマンド。
K パターンの残りの部分では、シェル パターン構文を使用します。 これは
デフォルト。
N これは無視されます。 ただし、最初の文字でファイルと一緒に使用される場合は、
名前が生成され、一致が発生しない場合、ファイル パターンは空のファイルに展開されます。
文字列。
X パターンの残りの部分では、次のような拡張正規表現構文を使用します。
  xgrep(1)コマンド。
P パターンの残りの部分では、 パール(1) 正規表現の構文。 ない
すべての Perl 正規表現構文は現在実装されています。
V パターンの残りの部分では、System V 正規表現構文が使用されます。
i 大文字と小文字を区別せずに一致を扱います。
g 最長一致をファイルします (貪欲)。 これがデフォルトです。
l パターンを左に固定します。 これがデフォルトです K スタイルのパターン。
r パターンを右に固定します。 これがデフォルトです K スタイルのパターン。
両方の場合 オプション:パターンリスト が指定されている場合、オプションは以下にのみ適用されます パターン-
リスト。 それ以外の場合、これらのオプションは、後続のコマンドによって無効になるまで有効のままです。
〜(...) または、以下を含むサブパターンの最後に 〜(...).

引用します。
それぞれ メタキャラクター 前にリストした(参照 定義 上記)には特別な意味があります
シェルであり、引用符で囲まれない限り単語が終了します。 キャラクターは 引用された
(つまり、それ自体を表すように) を先頭に付けます。 \。 ペア \改行 を削除しました。
一対の一重引用符で囲まれたすべての文字 () の前にないもの
a $ が引用されている。 一重引用符の中に一重引用符を含めることはできません。 一重引用符
引用符で囲まれていない文字列が前にある $ を除き、ANSI-C 文字列として処理されます。
次のとおりです。
\0 文字列の残りの部分が無視されます。
\E エスケープ文字 (ascii) と同等 033),
\e エスケープ文字 (ascii) と同等 033),
\cx キャラクターコントロールに展開 -x.
\C[。.]
照合要素に展開します .

二重引用符内 ("")、パラメータとコマンドの置換が発生し、 \ を引用します
文字 \, `, ", $。 A $ 二重引用符で囲まれた文字列の前は無視されます。
「C」または「POSIX」ロケール。文字列がロケール固有の文字列に置き換えられる可能性があります。
さもないと。 の意味 $∗$@ 引用符で囲まれていない場合、またはとして使用されている場合は同一です。
変数割り当て値またはファイル名として。 ただし、コマンドの引数として使用する場合は、
「$∗」 に相当します 「1ドルd$2d..."ここで、 d の最初の文字です IFS 変数、
一方 「$ @」 に相当します 「$ 1」 「$ 2」 .... 墓の引用符内 (``), \ を引用します
文字 \, `, $。 墓引用符が二重引用符で囲まれている場合、 \ また
登場人物を引用します ".

予約語またはエイリアスの特別な意味は、任意の文字を引用符で囲むことによって削除できます。
予約語の。 リストされた関数名または組み込みコマンド名の認識
以下は引用による変更はできません。

算術 評価。
シェルは、算術置換の算術評価を実行して、
算術コマンド。インデックス付き配列の添字を評価し、引数を評価します。
組み込みコマンド シフト。 評価は倍精度を使用して実行されます
浮動小数点演算または長倍精度浮動小数点 (以下を提供するシステム用)
このデータ型。 浮動小数点定数は、ANSI-C プログラミング言語の浮動小数点に準拠しています。
ポイントの規約。 浮動小数点定数 ナンinfファイル 「そうではない」を表すために使用できます
整数定数は ANSI-C プログラミングに従います。
言語の整数定数規則に準拠しますが、単一バイト文字定数のみが使用可能です。
認識されますが、キャラクターキャストは認識されません。 さらに、定数は次のものにすることができます。
形状 [ベース#]n コラボレー ベース を表す XNUMX ~ XNUMX の XNUMX 進数です。
算術基数と n はその基数内の数値です。 9 より上の数字は次のように表されます。
小文字、大文字、 @, _ それぞれ。 以下の基数の場合
36 に等しい場合は、大文字と小文字を区別なく使用できます。

算術式は、式と同じ構文、優先順位、結合性を使用します。
C言語として。 浮動小数点数に適用されるすべての C 言語演算子
に使える。 また、オペレーターは、 ** べき乗に使用できます。 それはより高いです
乗算よりも優先され、左結合になります。 さらに、 の値が
算術変数または部分式は長整数として表現できます。すべて C 言語です。
整数算術演算を実行できます。 変数は名前で参照できる
パラメータ拡張構文を使用せずに算術式内で使用します。 とき
変数が参照されると、その値は算術式として評価されます。

C 数学ライブラリに含まれる次の数学ライブラリ関数のいずれかを使用できます。
算術式内:

腹筋 アコス アコッシュ アシン アシン アタン あたん2 アタン CBRT セイル コピーサイン COS Cosh ERF 誤差関数 EXP 経験値2
expm1 ファブ fp分類 fdim 有限の fma fmax FMIN fmod ハイポット ilogb int型 有限です シンフ
イスナン 正常です 異常です 劣位です ゼロ j0 j1 jn ルガマ ログ log10 log2 ログ
近くの ネクストアフター 次へ向かって 捕虜 残余 リント 円形 スキャン サインビット シン 平方根 日焼け
タン ガンマ 切り捨てる y0 y1 yn さらに、算術関数をシェルとして定義できます。
のバリアントを使用した関数 function 構文、

function .sh.数学。 IDENT ... { リスト ;}
コラボレー は算術式で使用される関数名であり、それぞれ
識別子、 IDENT 長い倍精度浮動小数点への名前参照です。
口論。 の値 .sh.値 関数が戻ったときの値は this です
関数。 ユーザー定義関数は最大 3 つの引数を受け取り、C の数学をオーバーライドできます。
ライブラリ関数。

の内部表現 変数 倍精度浮動小数点として次のようにすることができます。
で指定 -E [n], -F [n]、または -X [n]オプションの タイプセット 特別な内蔵
コマンド。 の -E オプションを使用すると、値の展開が次のように表現されます。
展開すると科学表記法になります。 オプションのオプション引数 n を定義します
有効数字の数。 の -F オプションを指定すると、展開が次のように表現されます。
展開すると浮動小数点数になります。 の -X オプションにより拡張が行われます
を使用して表されます %a ISO C-99 で定義された形式。 オプションのオプション引数 n
この場合、小数点 (または基数) 以降の桁数を定義します。

の内部整数表現 変数 で指定できます -i [n] オプション
タイプセット 特別な組み込みコマンド。 オプションのオプション引数 n を指定します
変数を展開するときに使用される算術基数。 を指定しない場合は、
算術基数、基数 10 が使用されます。

算術評価は、変数への各代入の値に対して実行されます。
-E, -F, -Xまたは -i 属性。 次の型の変数に浮動小数点数を代入する
整数の場合、小数部分は切り捨てられます。

促す。
対話的に使用すると、シェルは次の値をプロンプトに表示します。 PS1 拡張した後
パラメータ展開、コマンド置換、算術置換を実行してから、
指示。 また、それぞれのシングル ! プロンプト内の はコマンド番号に置き換えられます。 あ
!! 配置する必要があります ! プロンプトで。 いつでも改行が入力され、さらに
コマンドを完了するには入力が必要で、次に XNUMX 番目のプロンプト (つまり、 PS2)
発行されます。

条件付きの 式。
A 条件付きの 表現 で使用されます [[ ファイルの属性をテストするための複合コマンド
そして文字列を比較します。 フィールド分割とファイル名の生成は、
間の単語 [[]]。 各式は、次の XNUMX つ以上から構築できます。
次の単項式または二項式:
string 本当なら、 string はヌルではありません。
-a file
と同じ -e 下に。 これは時代遅れです。
-b file
本当なら、 file 存在し、ブロック特殊ファイルです。
-c file
本当なら、 file 存在し、文字特殊ファイルです。
-d file
本当なら、 file 存在し、ディレクトリです。
-e file
本当なら、 file 存在しています。
-f file
本当なら、 file 存在しており、通常のファイルです。
-g file
本当なら、 file 存在し、その setgid ビットが設定されています。
-k file
本当なら、 file 存在し、スティッキー ビットが設定されています。
-n string
長さが次の場合は True、 string ゼロ以外です。
-o ?オプション
オプションが指定されている場合は True、 オプション は有効なオプション名です。
-o オプション
オプションが指定されている場合は True、 オプション オンです。
-p file
本当なら、 file 存在し、FIFO 特殊ファイルまたはパイプです。
-r file
本当なら、 file 存在し、現在のプロセスで読み取ることができます。
-s file
本当なら、 file 存在し、サイズがゼロより大きい。
-t フィルデス
ファイル記述子番号の場合は True フィルデス 開いており、端末に関連付けられています
デバイス。
-u file
本当なら、 file 存在し、setuid ビットが設定されています。
-v
変数の場合は True は有効な変数名であり、設定されています。
-w file
本当なら、 file 存在し、現在のプロセスによって書き込み可能です。
-x file
本当なら、 file 存在し、現在のプロセスによって実行可能です。 もし file 存在し、
現在のプロセスがディレクトリ内を検索する権限を持っている場合は true
ディレクトリにあります。
-z string
長さが次の場合は True、 string ゼロです。
-L file
本当なら、 file 存在し、シンボリックリンクです。
-h file
本当なら、 file 存在し、シンボリックリンクです。
-N file
本当なら、 file 存在し、変更時刻が最後のアクセスよりも大きい
時間。
-O file
本当なら、 file が存在し、このプロセスの実効ユーザー ID によって所有されています。
-G file
本当なら、 file 存在し、そのグループがこのプロセスの実効グループ ID と一致します。
-R
変数の場合は True は名前参照です。
-S file
本当なら、 file 存在し、ソケットです。
file1 -nt file2
本当なら、 file1 存在し、 file2 そうでない、または file1 より新しい file2.
file1 -ot file2
本当なら、 file2 存在し、 file1 そうでない、または file1 より古い file2.
file1 -もしも file2
本当なら、 file1file2 存在し、同じファイルを参照します。
string == パターン
本当なら、 string マッチ パターン。のいずれかの部分 パターン それを引き起こすために引用することができます
文字列として照合されます。パターンとの一致に成功すると、 .sh.マッチ 配列
変数には、一致とサブパターンの一致が含まれます。
string = パターン
と同じ == 上記ですが、廃止されました。
string != パターン
本当なら、 string 一致していません パターン。 時 string に一致する パターン  
.sh.マッチ 配列変数には、一致およびサブパターンの一致が含まれます。
string =~ 特長
Trueの場合 string パターンに一致 〜(ホ)特長 コラボレー 特長 延長レギュラーです
式です。
string1 < string2
本当なら、 string1 前に来る string2 文字の ASCII 値に基づいて。
string1 > string2
本当なら、 string1 後に来ます string2 文字の ASCII 値に基づいて。
次の廃止された算術比較も許可されます。
経験値1 -eq 経験値2
本当なら、 経験値1 等しい 経験値2.
経験値1 ネオン 経験値2
本当なら、 経験値1 等しくない 経験値2.
経験値1 -lt 経験値2
本当なら、 経験値1 よりも少ない 経験値2.
経験値1 -gt 経験値2
本当なら、 経験値1 より大きい 経験値2.
経験値1 -LE 経験値2
本当なら、 経験値1 より小さいか等しい 経験値2.
経験値1 -与える 経験値2
本当なら、 経験値1 より大きいか等しい 経験値2.

上記のそれぞれの式で、次の場合、 file 次の形式です / dev / fd /nここで、 n は整数で、
次に、テストは、記述子番号が次の開いているファイルに適用されます。 n.

複合式は、次のいずれかを使用してこれらのプリミティブから構築できます。
以下、優先順位の降順にリストされています。
(表現)
本当なら、 表現 それは本当です。式をグループ化するために使用されます。
! 表現
Trueの場合 表現 は偽です。
式1 && 式2
本当なら、 式1式2 どちらも真実です。
式1 ⎪⎪ 式2
どちらかであれば、本当です 式1 or 式2 本当です。

入出力。
コマンドが実行される前に、その入力と出力は特別なコマンドを使用してリダイレクトされる場合があります。
シェルによって解釈される表記。以下は単純なコマンドのどこにでも現れる可能性があります
あるいは、 command とです。 呼び出されたコマンドに渡されます。指示
置換、パラメータ拡張、算術置換は前に行われます。 単語 or
以下に記載されている場合を除き、使用されます。ファイル名の生成は、シェルが次の場合にのみ発生します。
インタラクティブであり、パターンは単一のファイルと一致します。フィールド分割は行われません。

次の各リダイレクトで、 file 次の形式です /dev/sctp/host/ポート,
/ dev / tcp /host/ポートまたは / dev / udp /host/ポートここで、 host はホスト名またはホストアドレスであり、
ポート 名前または整数のポート番号で指定されたサービスである場合、リダイレクトが試行されます。
作るために TCP, sctp or UDP 対応するソケットに接続します。

リダイレクト演算子の文字間にスペースを入れることはできません。

<単語 ファイルを使用する 単語 標準入力 (ファイル記述子 0) として。

>単語 ファイルを使用する 単語 標準出力 (ファイル記述子 1) として出力されます。ファイルがそうでない場合は、
存在してから作成されます。ファイルが存在し、 ノークロバー オプションがある
オンの場合、エラーが発生します。それ以外の場合は、長さがゼロに切り捨てられます。

>|単語 と同じ >をオーバーライドする点を除いて、 ノークロバー オプションを選択します。

>;単語 出力を一時ファイルに書き込みます。コマンドが正常に完了した場合
に名前を変更します 単語そうでない場合は、一時ファイルを削除します。 >;単語 することはできません
で使用される exec(2)。内蔵。

>>単語 ファイルを使用する 単語 標準出力として。ファイルが存在する場合、出力は次のようになります。
(最初にファイルの終わりまでシークすることによって) それに追加されます。それ以外の場合、ファイルは
作成しました。

<>単語 オープンファイル 単語 標準出力として読み書きします。

<>;単語 と同じ <>単語 ただし、コマンドが正常に完了した場合は、 単語
コマンド完了時のオフセットに切り捨てられます。 <>;単語 使用できません
exec(2)。内蔵。

<<[-]単語 シェル入力は、次の行まで読み込まれます。 単語 いずれにしても
引用符が削除されているか、ファイルの終わりにあります。パラメータの置換はありません。
コマンド置換、算術置換、またはファイル名の生成は、
に実行されました 単語。 結果として得られるドキュメントは、 ヒアドキュメントになる
標準入力。のいずれかの文字があれば、 単語 が引用されている場合は、いいえ
解釈は文書の文字に基づいて行われます。さもないと、
パラメータ展開、コマンド置換、算術置換
起こる、 \改行 無視され、 \ 文字を引用するには使用する必要があります \,
$, `。 場合 - に追加されます <<、その後、先頭のタブがすべて削除されます。 単語
そして資料から。もし # に追加されます <<、その後に先頭のスペースとタブ
ドキュメントの最初の行から同等の行まで削除されます。
インデントは残りの行と行から削除されます。 単語。タブ
停止は、決定する目的で 8 列ごとに発生すると想定されます。
インデント。

<<単語 ヒアドキュメントの短い形式。 単語 の内容になります。
パラメータ展開、コマンド置換、および
算術置換が発生します。

<& 標準入力はファイル記述子から複製されます (参照してください DUP(2))。
標準出力についても同様に、 >&.

<&- によって与えられるファイル記述子 標準入力に移動されます。同様に
標準出力の場合は次を使用します >&-.

<&- 標準入力は閉じています。標準出力についても同様に、 >&-.

<&p コプロセスからの入力は標準入力に移動されます。

>&p コプロセスへの出力は標準出力に移動されます。

<#(()) 算術式を評価する ファイル記述子 0 を
ファイルの先頭からの結果の値バイト。変数 CUREOF
次の場合に、それぞれ現在のオフセットとファイルの終わりのオフセットを評価します。
評価します expr。

>#((オフセット)) と同じ <# ただし、ファイル記述子 1 に適用されます。

<#パターン 次の行の先頭までシークします。 パターン.

<##パターン と同じ <# ただし、ファイルのスキップされた部分がコピーされる点は異なります。
標準出力に。

上記のいずれかの前にスペースを入れずに数字が付いている場合、ファイルは
参照される記述子番号は、(デフォルトの 0 または
1)。上記のいずれかに該当する場合、それ以外の場合 >&->#<# フォームの前に次の文字が付きます {変数名}
スペースを挟まないで指定すると、10 を超えるファイル記述子番号が選択されます。
シェルに格納され、変数に格納されます 変数名。 場合 >&- または次のいずれか >#<# フォームは
前任者 {変数名} の値 変数名 閉じるファイル記述子を定義するか、
位置。例えば:

... 2>&1

ファイル記述子 2 がファイル記述子 1 の複製として書き込み用に開かれることを意味します


exec {n}<ファイル

という名前のファイルを開くことを意味します file ファイル記述子番号を読み取り、変数に保存するため n.

リダイレクトを指定する順序は重要です。シェルはそれぞれを評価します
() に関するリダイレクトfile ディスクリプタ, file) 評価時の関連付け。
例:

... 1>fname 2>&1

最初にファイル記述子 1 をファイルに関連付けます fname。 次に、ファイル記述子 2 を関連付けます。
ファイル記述子 1 に関連付けられたファイル (つまり、 fname)。 の注文であれば、
リダイレクトが逆にされた場合、ファイル記述子 2 は端末に関連付けられます。
(ファイル記述子 1 がそうだったと仮定して)、ファイル記述子 1 は次のように関連付けられます。
file fname.

コマンドの後に続く場合 & ジョブ制御がアクティブではない場合、デフォルトの標準
コマンドの入力は空のファイルです / dev / null。 それ以外の場合は、
コマンドの実行には、によって変更された呼び出し側シェルのファイル記述子が含まれます。
入出力仕様。

環境。
この 環境 (参照してください 環境(7)) は、関数に渡される名前と値のペアのリストです。
通常の引数リストと同じようにプログラムを実行します。名前は次のとおりです。 識別子
値は文字列です。シェルはいくつかの方法で環境と対話します。
方法。呼び出し時に、シェルは環境をスキャンし、名前ごとに変数を作成します。
見つかった場合は、対応する値と属性を与えてマークします。 export。実行されました
コマンドは環境を継承します。ユーザーがこれらの変数の値を変更した場合、または
を使用して新しいものを作成します export or タイプセット -x コマンドの一部になります。
環境。したがって、実行されたコマンドによって表示される環境は、任意の名前で構成されます。
もともとシェルによって継承された値のペア。その値は現在のシェルによって変更される可能性があります。
シェルに加えて、注意しなければならない追加事項も含まれます。 export or タイプセット -x コマンド。

あらゆる環境 単純なコマンド または、関数に接頭辞を付けて拡張することもできます。
XNUMX つ以上の変数の割り当て。変数代入引数は次の形式の単語です。
識別子=値。 したがって:

期間=450 CMD 引数
(輸出 学期; TERM=450; CMD args)

は同等です(上記の実行に関する限り) CMD 特別なことを除いて気になる
以下にリストされている組み込みコマンド - 前にダガーが付いているもの)。

時代遅れの場合 -k オプションが設定されている、 変数代入引数は、
これは、コマンド名の後にある場合でも同様です。以下の最初のプリント a = b c
その後 c:

echo a = b c
セッションに -k
echo a = b c
この機能は、シェルの初期バージョン用に作成されたスクリプトで使用することを目的としています。
新しいスクリプトでの使用は強くお勧めしません。それはいつか消えてしまう可能性があります。

機能。
歴史的な理由から、関数を定義するには XNUMX つの方法があります。 () 構文と
function で説明されている構文 コマンド 上のセクション。シェル関数が読み取られます
に保存されます。エイリアス名は関数の読み取り時に解決されます。機能
位置パラメータとして渡された引数を使用してコマンドと同様に実行されます。 (見る
実行 以下。)

によって定義される関数 function 構文と名前で呼び出されたものは同じで実行されます
呼び出し元として処理し、すべてのファイルと作業ディレクトリを呼び出し元と共有します。
呼び出し元によってキャッチされたトラップは、関数内のデフォルトのアクションにリセットされます。トラップ
条件が関数によって捕捉または無視されない場合、関数は終了します。
そして呼び出し元に渡される条件。罠がかかっている EXIT 関数内で設定されるのは
関数の完了後に呼び出し元の環境で実行されます。通常、
変数は呼び出し側プログラムと関数の間で共有されます。しかし タイプセット
関数内で使用される特別な組み込みコマンドは、そのスコープのローカル変数を定義します。
現在の機能が含まれています。それらは、呼び出した関数に渡すことができます。
呼び出しに先立つ変数割り当てリスト、または名前参照として渡される引数として。
関数内でエラーが発生すると、呼び出し元に制御が戻ります。

で定義された関数 () で定義された構文と関数 function
で呼び出される構文 . 特別な組み込みは呼び出し側で実行されます。
環境を構築し、すべての変数とトラップを呼び出し元と共有します。これらのエラー
関数を実行すると、その関数を含むスクリプトが中止されます。

特別な組み込みコマンド return 関数呼び出しから戻るために使用されます。

関数名は、 -f or +f オプションの タイプセット 特別な内蔵
指示。利用可能な場合、関数のテキストもリストに表示されます。 -f。 機能
で未定義にすることができます -f オプションの unset 特別な組み込みコマンド。

通常、シェルがシェル スクリプトを実行すると、関数は設定解除されます。機能
シェルの個別の呼び出しにわたって定義する必要がある場合は、
ディレクトリと FPATH 変数には、このディレクトリの名前が含まれている必要があります。彼らはまた、
で指定する ENV ファイルにソフトウェアを指定する必要があります。

規律 機能。
各変数には、XNUMX 個以上の規律関数を関連付けることができます。シェル
最初は分野名を理解する 取得する, セッションに, アペンド, unset しかし、追加することはできます
新しい型を定義するとき。ほとんどのシステムでは、実行時に C 経由で他のものを追加できます。
によって提供されるプログラミング インターフェイス拡張機能 ビルトイン 組み込みユーティリティ。もし 取得する
規律は変数に対して定義されており、指定された変数が指定されるたびに呼び出されます。
参照しました。変数の場合 .sh.値 規律関数内で値が割り当てられます。
参照された変数は代わりにこの値に評価されます。もし セッションに 規律は
変数に対して定義されている場合、指定された変数に値が割り当てられるたびに呼び出されます。もし
  アペンド 規律は変数に対して定義されており、値が指定されるたびに呼び出されます。
指定された変数に追加されます。変数 .sh.値 変数の値が与えられます
規律を呼び出す前に、変数には次の値が割り当てられます。 .sh.値
規律が終わった後。もし .sh.値 規律内で設定されていない場合、それは
値は変わりません。もし unset 変数に対して規律が定義され、それが呼び出されます
指定された変数が設定されていないときはいつでも。変数は設定解除されない限り設定解除されません
この規律関数内から明示的に。

変数 .sh.name 規律関数の対象となる変数の名前が含まれます
と呼ばれる、 .sh.添え字 は変数の添字であり、 .sh.値 が含まれます
内部で割り当てられる値 セッションに 規律機能。変数 _ への参照です
添え字がある場合はそれを含む変数。のために セッションに 規律、変化 .sh.値
割り当てられる値が変更されます。ついに拡張が ${VAR.}、時
は分野の名前であり、この名前の変数はありません。
コマンド置換 ${ VAR.;}.

Name スペース。
の一部として実行されるコマンドと関数 リスト名前空間 そのコマンド
変数を変更するか、新しい変数を作成します。名前が変数の名前である新しい変数を作成します。
によって与えられる名前空間 識別子 前任者 .。という名前の変数の場合、 is
参照されると、最初に次を使用して検索されます。 .識別子.。同様に、関数
のコマンドによって定義される 名前空間 リスト 名前空間名を先行して使用して作成されます
によって ..

リスト名前空間 コマンドには 名前空間 コマンド、変数の名前
作成される関数は、変数名または関数名の前に
の一覧 識別子それぞれの前に ..

名前空間の外では、名前空間内で作成された変数または関数を使用できます。
名前空間名を前に付けることで参照されます。

デフォルトでは、次で始まる変数は .sh にあります sh 名前空間。

種類 変数。
型付き変数は、データ構造とオブジェクトを作成する方法を提供します。タイプを定義できる
共有ライブラリによって、または 列挙型 以下で説明する組み込みコマンド、または
新製品 -T オプションの タイプセット 組み込みコマンド。とともに -T のオプション タイプセット、 タイプ
オプション引数として指定される名前 -T、複合変数の割り当てで設定されます
それはタイプを定義します。関数定義は複合変数内に出現できます
これらはこのタイプの規律関数となり、呼び出すことができます。
型の各インスタンスによって再定義されます。関数名 作ります 特別扱いされる。
これは、作成されたものの継承されなかった型のインスタンスごとに呼び出されます。
インスタンスごとに再定義することはできません。

タイプが定義されると、その名前の特別な組み込みコマンドが追加されます。これらの組み込み機能
は宣言コマンドであり、すべての特別な組み込みコマンドと同じ展開規則に従います。
以下で定義されているコマンドの前に †† が付いています。これらのコマンドは後で使用できます
さらなる型定義の内部。これらのコマンドのマニュアル ページは、次のように生成できます。
- 男 オプションまたはその他のいずれか -- で説明されているオプション 取得を選択します。 -r, -a,
-A, -h, -S のオプション タイプセット これらの新しい組み込みのそれぞれで許可されます。

型のインスタンスは、型名に続いて XNUMX つ以上の文字列を呼び出すことによって作成されます。
インスタンス名。この型の各インスタンスは、サブ変数のコピーで初期化されます。
で定義されたサブ変数を除く -S オプション。で定義された変数
-S は、そのタイプのすべてのインスタンスによって共有されます。各インスタンスは、任意の値を変更できます。
サブ変数と同じ名前の新しい規律関数を定義することもできます。
タイプ定義および標準の分野名によって定義されます。追加なし
サブ変数は任意のインスタンスに対して定義できます。

型を定義するときに、サブ変数の値が設定されておらず、 -r 属性は
指定すると、サブ変数が必須のサブ変数になります。インスタンスが発生するたびに、
タイプの変数を作成する場合は、必要なサブ変数をすべて指定する必要があります。これらのサブ変数
各インスタンスで読み取り専用になります。

日時 unset 型内のサブ変数に対して呼び出され、 -r 属性が設定されていません
このフィールドに指定すると、値は、そのフィールドに関連付けられたデフォルト値にリセットされます。
タイプ。呼び出し中 unset 別の型に含まれていない型インスタンスでは、すべてが削除されます
サブ変数と変数自体。

最初のサブクラスを定義することによって、型定義を別の型定義から派生させることができます。
変数名として _ そしてその型を基本型として定義します。残りの定義は、
新しいタイプに適用される追加および変更になります。新しい型名が
基本タイプと同じです。タイプは置き換えられ、元のタイプは削除されます。
長くアクセス可能。

この タイプセット とのコマンド -T オプションの引数やオペランドはすべての型を書き込みません。
定義を読み込んですべてを作成できる形式で標準出力に保存します。
タイプ。

ジョブ。
Status モニター オプションの セッションに コマンドがオンになると、対話型シェルが
ジョブ 各パイプラインで。現在のジョブのテーブルを保持し、 jobs コマンド、
そしてそれらに小さな整数を割り当てます。ジョブが非同期で開始される場合 &
シェルは次のような行を出力します。

[1] 1234

非同期で開始されたジョブがジョブ番号1であり、XNUMXつあったことを示します。
(トップレベル)プロセス。プロセスIDは1234でした。

この段落と次の段落では、UNIX のすべてのバージョンにはない機能が必要です。
適用されません。ジョブを実行していて別のことをしたい場合は、キーを押すことができます。 ^Z
(control-Z) 現在のジョブに STOP 信号を送信します。シェルは通常、
ジョブが「停止」されたことを示し、別のプロンプトを出力します。そうすれば、
このジョブの状態を操作して、ジョブをバックグラウンドに置きます。 bg コマンド、または実行
他のいくつかのコマンドを実行し、最終的にジョブをフォアグラウンドに戻します。
フォアグラウンドコマンド fg。 A ^Z すぐに有効になり、それが中断されるようなものです
保留中の出力と未読の入力は、入力時に破棄されます。

バックグラウンドで実行されているジョブが端末から読み取ろうとすると停止します。
通常、バックグラウンド ジョブは出力を生成できますが、これは次のコマンドを実行することで無効にできます。
コマンド スティ 止まる。 この tty オプションを設定すると、次の場合にバックグラウンド ジョブが停止します。
入力を読み取ろうとするときと同じように、出力を生成しようとします。

ジョブ プールは、次で開始されるジョブのコレクションです。 リスト & 名前に関連付けられています。

シェルでジョブを参照するには、いくつかの方法があります。 ジョブは、
ジョブのプロセスのプロセス ID、または次のいずれかによる。
%
指定された番号のジョブ。
プール という名前のジョブ プール内のすべてのジョブ プール.
プール.
ジョブ番号 という名前のジョブ プール内 プール.
%string
コマンドラインが次で始まるジョブ string.
%?string
コマンドラインに次の内容が含まれるジョブ string.
%% 今の仕事。
%+ に相当 %%.
%- 前職。さらに、特に断りのない限り、仕事が可能な場所であればどこでも、
バックグラウンド ジョブ プールの名前を指定すると、すべてのジョブを表すために使用できます。
あのプールで。

シェルは、プロセスが状態を変更するたびにすぐに学習します。 それは通常あなたに知らせます
ジョブがブロックされてそれ以上の進行が不可能になるたびに、ただ単に
プロンプトを出力する前。 これは、他の方法で作業を妨げないようにするために行われます。
この 通知する オプションの セッションに コマンドにより、シェルにこれらのジョブ変更メッセージが出力されます。
それらが発生するとすぐに。

モニター オプションがオンの場合、バックグラウンド ジョブが完了するたびにトラップ セットがトリガーされます。
for CHLD.

ジョブの実行中または停止中にシェルを終了しようとすると、次の警告が表示されます。
「ジョブを停止(実行)しました。」を使用できます。 jobs コマンドを実行して、それらが何であるかを確認します。もし
すぐに再度終了しようとすると、シェルは再度警告を表示しません。
停止したジョブは終了します。ログイン シェルが HUP シグナルを受信すると、HUP を送信します。
却下されていない各ジョブに信号を送ります。 勘当します 組み込みコマンドの説明
を参照してください。

シグナル。
呼び出されたコマンドの INT および QUIT 信号は、コマンドの後に続く場合には無視されます。
&モニター オプションはアクティブではありません。それ以外の場合、信号の値は次のように継承されます。
親からのシェル (ただし、 トラップ 以下の組み込みコマンド)。

実行。
コマンドが読み取られるたびに、上記の置換が実行されます。コマンド名の場合
のいずれかに一致します Special 内蔵 コマンド 以下にリストされているように、それは
現在のシェルプロセス。次に、コマンド名がユーザーと一致するかどうかがチェックされます。
定義された関数。存在する場合、位置パラメータは保存され、次の値にリセットされます。
の議論 function 電話。関数は現在のシェル プロセスでも実行されます。
function を完了または発行します return、位置パラメータリストが復元されます。
で定義された関数の場合、 function 構文、トラップセット EXIT 中で
関数が実行されます。の終了値 function 最後のコマンドの値です
実行されました。コマンド名が 特別 内蔵 command またはユーザー定義 function,
ただし、これは以下にリストされている組み込みコマンドの XNUMX つであり、現在のシェルで実行されます。
プロセス。

シェル変数 パス 変数が続きます FPATH ディレクトリのリストを定義します
コマンド名を検索します。代替ディレクトリ名はコロン (:).
デフォルトのパスは次のとおりです / binに:/ usr / bin: (指定 / binに, / usr / bin、および現在のディレクトリ
この順序で)。現在のディレクトリは、XNUMX つ以上の隣接するコロンで指定できます。または、
パスリストの先頭または末尾にコロンを付けます。コマンド名に /,
その場合、検索パスは使用されません。それ以外の場合は、ディレクトリのリスト内の各ディレクトリ
によって定義されます パスFPATH 順番にチェックされます。検索対象のディレクトリが
に含まれた FPATH 検索対象のコマンドと名前が一致するファイルが含まれている場合、
このファイルは、あたかもその引数であるかのように、現在のシェル環境にロードされます。 .
ただし、事前設定されたエイリアスのみが展開され、指定された名前の関数は
上記のように実行されます。

このディレクトリが存在しない場合は、 FPATH シェルは最初にビルトインがあるかどうかを判断します。
指定されたパス名に対応するコマンドのバージョン。そうであれば、コマンドは
現在のプロセス。組み込みが見つからない場合、シェルは次の名前のファイルをチェックします。 .パス in
このディレクトリ。見つかってフォームの行がある場合 FPATH=path コラボレー path 名前を付けます
既存のディレクトリの場合、そのディレクトリは現在のディレクトリの直後に検索されます。
ディレクトリ内で見つかったかのように FPATH 変数。 もしも path / で始まっていません。
検索対象のディレクトリとの相対関係がチェックされます。

この .パス 次に、ファイルのフォームの行がチェックされます。 プラグイン_LIB=ライブラリ名 [ : ライブラリ名 ]
... 。各ライブラリの名前は ライブラリ名 オプション引数であるかのように検索されます
〜へ ビルトイン -f、指定された名前の組み込みが含まれている場合、これが実行されます
この名前のコマンドの代わりに。この方法で見つかったライブラリからロードされた組み込みは、
を含むディレクトリに関連付けられます。 .パス ファイルなので、そうでない場合にのみ実行されます
以前のディレクトリで見つかりました。

最後に、指定された名前のファイルがディレクトリにあるかどうかがチェックされます。ファイルに
実行権限ではありませんが、 アウト ファイルの場合、シェルを含むファイルであると想定されます。
コマンド。それを読み取るために別のシェルが生成されます。エクスポートされていない変数はすべて削除されます
この場合。シェルコマンドファイルに読み取り権限がない場合、または setuid
および セットギッド ファイルにビットが設定されると、シェルはそのジョブのエージェントを実行します。
権限を設定し、次のように渡されたシェル コマンド ファイルを使用してシェルを実行します。
開いているファイル。もし .パス フォームの行が含まれています = 最初か二番目に
行、次に環境変数 指定されたディレクトリを先頭に追加することによって変更されます
by ディレクトリリストに追加します。もし は絶対ディレクトリではない場合、指定します
実行可能ファイルが見つかったディレクトリに相対的なディレクトリ。環境なら
変数 まだ存在しない場合は、環境リストに追加されます。
指定されたコマンド。括弧で囲まれたコマンドは削除されずにサブシェルで実行されます。
エクスポートされない変数。

Command 再入場。
最後の本文 履歴サイズ (デフォルトは 512) 端末デバイスから入力されたコマンドは、
に保存された 歴史 ファイル。ファイル $HOME/.sh_history の場合に使用されます ヒストファイル 変数は
設定されていない場合、またはその名前のファイルが書き込み可能ではない場合。シェルはすべてのコマンドにアクセスできます。
相互作用的 同じ名前を使用するシェル ヒストファイル。組み込みコマンド シーッ 使用されている
このファイルの一部を一覧表示または編集するには。編集またはリストするファイルの部分
番号またはコマンドの最初の文字を指定することによって選択できます。
単一のコマンドまたはコマンドの範囲を指定できます。エディターを指定しない場合
引数としてのプログラム シーッ 次に変数の値 ヒストディット 使用されている。 場合
ヒストディット 設定されていない、廃止された変数 FC編集 使用されている。 場合 FC編集 が定義されていない場合、
/usr/bin/ex 使用されている。編集されたコマンドは出力され、終了時に再実行されます。
書かずに終了しない限り、エディターを閉じます。の -s オプション (古いバージョンでは、
編集者名 -) は、編集フェーズをスキップしてコマンドを再実行するために使用されます。この中で
形式の置換パラメータの場合 古い=新製品 前にコマンドを変更するために使用できます
実行。たとえば、プリセットエイリアスを使用すると、 r、エイリアスは 「ヒスト」 -s'、「」と入力しますr
悪い=良い c' という文字で始まる最新のコマンドが再実行されます。 c,
最初に出現した文字列を置き換えます 悪い 文字列で 良い.

列をなして 編集 オプション。
通常、端末デバイスから入力される各コマンド ラインは、単に入力した後に
改行 (「戻る」または「改行」)。どちらかの場合、 エマックス, gmacsまたは vi オプションが有効になっている場合、
ユーザーはコマンドラインを編集できます。これらの編集モードのいずれかになるには セッションに  
対応するオプション。編集オプションは、 ビジュアル or
環境変数EDITOR 変数には、これらのオプション名のいずれかで終わる値が割り当てられます。

編集機能では、ユーザーの端末がキャリッジリターンとして「RETURN」を受け入れる必要があります。
改行なしで、スペース (` ') は現在の文字を上書きする必要があります。
を選択して、後処理画面に進みます。

を除いて 複数行 オプションがオンの場合、編集モードはユーザーがいる場所の概念を実装します。
ウィンドウを通して現在の行を確認します。ウィンドウの幅は次の値です。 COLUMNS if
定義されている場合は 80 です。ウィンドウの幅が小さすぎてプロンプトが表示されない場合は、
入力を入力するために少なくとも 8 列を残すと、プロンプトは左側から切り詰められます。もし
行がウィンドウの幅から XNUMX を引いた値より長い場合、行の最後にマークが表示されます。
ユーザーに通知するウィンドウ。カーソルが移動してウィンドウの境界に達すると、
ウィンドウがカーソルの中央に配置されます。マークは、 > (<, *) ラインが延長されている場合
ウィンドウの右側 (左側、両側)。

各編集モードの検索コマンドにより、履歴ファイルにアクセスできます。文字列のみ
先頭は一致しますが、パターンではなく一致します。 ^ 文字列内で一致の開始を制限します
行の最初の文字に。

各編集モードには、一致するファイルまたはコマンドをリストする操作があります。
部分的に入力された単語。行の最初の単語、または最初の単語に適用される場合
;, , &または (、そしてその単語はで始まらない または含まれています /、のリスト
によって定義されたエイリアス、関数、および実行可能コマンド パス 一致する可能性のある変数
部分的な単語が表示されます。それ以外の場合、指定された単語に一致するファイルのリストは次のようになります。
表示されます。部分的に入力された単語にファイル拡張文字が含まれていない場合は、
a * これらのリストを生成する前に追加されます。生成されたリストを表示した後、
入力行が再描画されます。これらの操作をコマンド名リストとファイル名と呼びます。
それぞれリストします。コマンド名と呼ばれる追加の操作があります。
補完とファイル名補完。一致するコマンドまたはファイルのリストを計算します。
ただし、リストを出力する代わりに、現在の単語を完全または部分的に置き換えます。
マッチ。ファイル名の補完では、一致が一意の場合、 / ファイルが
ファイルがディレクトリでない場合はスペースが追加されます。それ以外の場合は最長
一致するすべてのファイルに共通の接頭辞が単語を置き換えます。コマンド名の補完については、
ファイル名の最後の部分以降の部分のみ / 最長のコマンドを見つけるために使用されます
接頭語。この接頭辞に一致する名前が XNUMX つだけの場合、その単語は
コマンド名の後にスペースを入れます。を使用するときは、 タブ をもたらさない完了のために
ユニークな一致、その後の タブ 一致する代替案の番号付きリストが提供されます。あ
特定の選択を行うには、選択番号に続いて入力します。 タブ.

キー バインディング。
この キーボード トラップを使用すると、キーが入力されたときにインターセプトし、文字を変更できます。
実際にシェルから見えるものです。このトラップは各文字(または
最初の文字が ESC の場合の一連の文字)は、ファイルからの読み取り中に入力されます。
ターミナル。変数 .sh.edchar 以下の文字または文字シーケンスが含まれています。
トラップを生成しました。の値を変更する .sh.edchar トラップアクションではシェルが発生します
元の値ではなく新しい値がキーボードから入力されたかのように動作します。
の値です。

変数 .sh.edcol は、実行時のカーソルの入力列番号に設定されます。
入力。変数 .sh.edmode の場合は ESC に設定されます vi 挿入モード (以下を参照) であり、
それ以外の場合は null。先頭に追加することで ${.sh.editmode} に割り当てられた値に .sh.edchar それは意志
シェルがまだ制御モードになっていない場合は、シェルを制御モードに変更します。

このトラップは、編集ディレクティブの引数として入力された文字に対しては呼び出されません。
文字検索の入力を読み取っているとき。

Emacs 編集 モード。
このモードに入るには、次のいずれかを有効にします。 エマックス or gmacs オプション。唯一の違いは
これら XNUMX つのモード間の処理方法は次のとおりです。 ^T。編集するには、ユーザーはカーソルを
修正が必要な箇所を修正し、必要に応じて文字や単語を挿入または削除します。
すべての編集コマンドは制御文字またはエスケープ シーケンスです。の表記
制御文字はキャレット (^) の後に文字が続きます。例えば、 ^F
コントロールの表記法 F。これは、「CTRL」を押しながら「f」を押すことによって入力されます。
(コントロール)キー。 「SHIFT」キーは 押し下げられた。 (表記は ^? DEL を示します
(削除)キー。)

エスケープシーケンスの表記は次のとおりです。 M- 続いてキャラクター。例えば、 Mf
(メタ f と発音します) は、ESC キーを押して入力します (ascii 033) の後に「f」が続きます。 (MF でしょう
ESC の後に「SHIFT」(大文字)「F」を続けた表記になります。)

すべての編集コマンドは、行のどこからでも (先頭だけでなく) 操作できます。どちらでもない
特に明記されている場合を除き、編集コマンドの後に「RETURN」キーまたは「LINE FEED」キーが入力されます。

^F カーソルを XNUMX 文字前(右)に移動します。
M-[C カーソルを XNUMX 文字前(右)に移動します。
Mf カーソルを XNUMX 単語前に移動します。 ( エマックス 編集者の単語のアイデアは、次の文字列です。
文字、数字、アンダースコアのみで構成される文字。)
^B カーソルを XNUMX 文字後方 (左) に移動します。
M-[D カーソルを XNUMX 文字後方 (左) に移動します。
MB カーソルを XNUMX 単語後ろに移動します。
^A カーソルを行頭に移動します。
M-[H カーソルを行頭に移動します。
^E カーソルを行末に移動します。
私の カーソルを行末に移動します。
^]チャリオット カーソルを文字まで進めます チャリオット 現在の行に。
ま-^]チャリオット カーソルを文字まで後方に移動する チャリオット 現在の行に。
^X^X カーソルとマークを入れ替えます。
消去 (ユーザー定義の消去文字は、 スティ(1) コマンド、通常 ^H or
#.) 前の文字を削除します。
次へ (ユーザー定義のリテラル次の文字。 スティ(1) コマンド、または ^V if
(定義されていません。) 次の文字の編集機能 (存在する場合) を削除します。
^D 現在のキャラクターを削除します。
Md 現在の単語を削除します。
M-^H (メタバックスペース) 前の単語を削除します。
Mh 前の単語を削除します。
ま~^? (Meta-DEL) 前の単語を削除します (割り込み文字が ^? (DEL、
デフォルト)、このコマンドは機能しません)。
^T 現在の文字を前の文字と入れ替えてカーソルを進めます。
エマックス モード。前の XNUMX 文字を入れ替える gmacs モード。
^C 現在の文字を大文字にします。
MC 現在の単語を大文字にします。
ミリリットル 現在の単語を小文字に変更します。
^K カーソル位置から行末までを削除します。数字が前に付いている場合
値が現在のカーソル位置より小さいパラメータを削除した場合、
カーソルまでの指定された位置。数値パラメータが前にある場合、
値が現在のカーソル位置より大きい場合は、カーソルから次の位置まで削除します。
指定されたカーソル位置。
^W カーソルからマークまでをキルします。
MP カーソルからスタック上のマークまでの領域をプッシュします。
kill (stty コマンドで定義されたユーザー定義の Kill 文字。通常は ^G or @.)
現在の行全体を強制終了します。 XNUMXつなら kill 文字が連続して入力されると、
それ以降のすべてのキル文字は改行を引き起こします (紙を使用する場合に便利です)
端子)。
^Y 行から削除された最後の項目を復元します。 (アイテムを行に引き戻します。)
^L 改行して現在の行を印刷します。
M-^L 画面をクリアします。
^@ (空文字) マークを設定します。
M-スペース (メタスペース) マークを設定します。
^J (改行) 現在の行を実行します。
^M (Return) 現在の行を実行します。
eof 通常はファイルの終わりの文字 ^D、ファイルの終わりとして処理されるのは、
現在の行は null です。
^P 前のコマンドを取得します。毎回 ^P 前のコマンドを再度入力すると、
時間がアクセスされます。マルチ行の最初の行にない場合は、XNUMX 行前に戻ります。
ラインコマンド。
M-[A カーソルが行末にある場合、次と同等です。 ^R   string セッションに
現在の行の内容に戻ります。それ以外の場合は、次と同等です。 ^P.
まー 最も新しい (最も古い) 履歴行を取得します。
M-> 最新 (最も若い) 履歴行を取得します。
^N 次のコマンドラインを取得します。毎回 ^N 次のコマンドラインに入力されます
時間内にアクセスされます。
M-[B に相当 ^N.
^Rstring 以下を含む以前のコマンド ラインの検索履歴を逆引きします。 string。 もし
パラメータにゼロを指定すると、検索は前方に行われます。 String によって終了します
「戻る」または「改行」。文字列の前に ^、一致した行は次のとおりです。
で始まる string。 場合 string が省略された場合は、次のコマンドラインが次のようになります。
最新の string にアクセスされます。この場合、パラメータをゼロにすると反転します。
検索の方向。
^O Operate - 現在の行を実行し、現在の行を基準にして次の行をフェッチします。
履歴ファイルの行。
M-数字 (エスケープ) 数値パラメータを定義します。数値はパラメータとして取得されます。
次のコマンド。パラメータを受け入れるコマンドは次のとおりです。 ^F, ^B, 消去, ^C, ^D,
^K, ^R, ^P, ^N, ^], M-。, ま-^], M-_, M-=, MB, MC, Md, Mf, Mh, ミリリットルM-^H.
M-手紙 ソフトキー - エイリアス リストのエイリアスが名前で検索されます。 _手紙 そして
この名前のエイリアスが定義されている場合、その値が入力キューに挿入されます。
この 手紙 上記のメタ関数のいずれであってはなりません。
ま-[手紙 ソフトキー - エイリアス リストのエイリアスが名前で検索されます。 __手紙 そして
この名前のエイリアスが定義されている場合、その値が入力キューに挿入されます。
これを使用して、多くの端末でファンクション キーをプログラムできます。
M-。 前のコマンドの最後の単語がその行に挿入されます。先頭に
数値パラメータ。このパラメータの値によって、挿入する単語が決まります。
最後の言葉ではなく。
M-_ と同じ M-。.
M-* 現在の単語に対してファイル名の生成を試みます。次の場合にはアスタリスクが追加されます
この単語はどのファイルにも一致しないか、特殊なパターン文字が含まれていません。
M-ESC 前述のコマンドまたはファイル名の補完。
^I タブ 上で説明したように、コマンドまたはファイル名の補完を試みます。部分的な場合は
完了が発生すると、これを繰り返すと次のように動作します M-= が入力されました。いいえの場合
一致が見つかるか、後に入力されます スペース タブ 挿入されます。
M-= 数値パラメータが前にない場合は、一致するパラメータのリストが生成されます。
上で説明したコマンドまたはファイル名。それ以外の場合は、カーソル下の単語
の数値パラメータの値に対応する項目に置き換えられます。
最近生成されたコマンドまたはファイルのリスト。カーソルが上にない場合は、
word の代わりに挿入されます。
^U 次のコマンドのパラメータを 4 倍します。
\ 次の文字をエスケープします。キャラクターの編集、ユーザーの消去、キル、中断
(通常は ^?) 文字はコマンドラインまたは検索文字列に入力できます。
が前にある場合 \を選択します。 \ 次の文字の編集機能を削除します (
どれでも)。
M-^V シェルのバージョンを表示します。
M-# 行が a で始まらない場合は、 # # の先頭に挿入されます
行と各改行の後に、その行が入力されます。これにより、コメントが
履歴ファイルに挿入されます。行が a で始まる場合 # # 削除されます
そして、1 # 各改行の後も削除されます。

Vi 編集 モード。
XNUMX つの入力モードがあります。最初にコマンドを入力すると、
モード。編集するには、ユーザーは次のように入力します。 コントロール ESC (033) にカーソルを移動します。
修正が必要な箇所を修正し、必要に応じて文字や単語を挿入または削除します。
ほとんどの制御コマンドはオプションの繰り返しを受け入れます カウント コマンドの前に。

ときで vi ほとんどのシステムではこのモードでは、正規処理が最初に有効になっており、コマンド
速度が 1200 ボー以上で、コントロールが含まれている場合は、再度エコーされます。
プロンプトが表示されてから XNUMX 文字以上経過したか、XNUMX 秒未満が経過しました。 ESC
文字は、コマンドの残りの部分とユーザーに対する正規の処理を終了します。
コマンドラインを変更できます。このスキームには正規処理の利点があります。
raw モードの先行入力エコーを使用します。

オプションの場合 ビロー も設定されている場合、端末は常に正規の処理を行います。
無効。このモードは、XNUMX つの代替行末をサポートしないシステムに対して暗黙的です。
区切り文字を使用でき、特定の端末では役立つ場合があります。

入力 編集 コマンド
デフォルトでは、エディタは入力モードになっています。
消去 (stty コマンドで定義されたユーザー定義の消去文字。通常は ^H
or #.) 前の文字を削除します。
^W 前の空白で区切られた単語を削除します。一部のシステムでは、 ビロー
これを機能させるにはオプションが必要になる場合があります。
eof 行の最初の文字によりシェルは終了します。
  無視する オプションが設定されています。それ以外の場合、この文字は無視されます。
次へ (ユーザー定義のリテラル次の文字。 スティ(1)または ^V if
(定義されていません。) 次の文字の編集機能 (存在する場合) を削除します。
一部のシステムでは、 ビロー これを機能させるにはオプションが必要になる場合があります。
\ 次は逃げる 消去 or kill 文字。
^I タブ 前述のようにコマンドまたはファイル名の補完を試みて戻ります。
入力モードにします。部分的に完了した場合は、これを繰り返すと、
あたかものように振る舞う = コントロールモードから入った。一致するものが見つからない場合、または
後に入力された スペース タブ 挿入されます。
モーション 編集 コマンド
これらのコマンドはカーソルを移動します。
[カウント]l カーソルを XNUMX 文字前方 (右) に移動します。
[カウント][C カーソルを XNUMX 文字前方 (右) に移動します。
[カウント]w カーソルを英数字の単語 XNUMX つ進めます。
[カウント]W 空白に続く次の単語の先頭にカーソルを移動します。
[カウント]e カーソルを単語の末尾に移動します。
[カウント]E 現在の空白で区切られた単語の末尾へのカーソル。
[カウント]h カーソルを XNUMX 文字後方 (左) に移動します。
[カウント][D カーソルを XNUMX 文字後方 (左) に移動します。
[カウント]b カーソルを XNUMX 単語戻します。
[カウント]B カーソルは前の空白で区切られた単語に移動します。
[カウント] カーソルを列に移動 カウント.
[カウント]fc 次の文字を探す c 現在の行にあります。
[カウント]Fc 前の文字を検索する c 現在の行にあります。
[カウント]tc に相当 f 続い h.
[カウント]Tc に相当 F 続い l.
[カウント]; 繰り返す カウント 回、最後の XNUMX 文字検索コマンド、 f, F, tまたは
T.
[カウント], 最後の XNUMX 文字の検索コマンドを元に戻します カウント 回。
0 カーソルを行の先頭に移動します。
^ カーソルを行の先頭に移動します。
[H カーソルを行内の空白以外の最初の文字に移動します。
$ カーソルを行末に移動します。
[Y カーソルを行末に移動します。
% バランス調整に移行します (, ), {, }, [または ]。カーソルがいずれかの位置にない場合は、
文字の上にある場合、行の残りの部分で最初の文字が検索されます。
上記の文字のいずれかが最初に出現します。
検索 編集 コマンド
これらのコマンドはコマンド履歴にアクセスします。
[カウント]k 前のコマンドを取得します。毎回 k 前のコマンドを入力して戻ります
時間内にアクセスされます。
[カウント]- に相当 k.
[カウント][A カーソルが行末にある場合、次と同等です。 /   文字列^セット
〜へ   中身 of   現在 ライン。 それ以外の場合は、次と同等です。 k.
[カウント]j 次のコマンドを取得します。毎回 j に次のコマンドが入力されます
時間がアクセスされます。
[カウント]+ に相当 j.
[カウント][B に相当 j.
[カウント]G コマンド番号 カウント が取り出されます。デフォルトは最も古いものです
履歴コマンド。
/string 履歴を逆方向に検索して、次の内容を含む前のコマンドを探します。 string.
String 「RETURN」または「NEW LINE」で終了します。文字列が前にある場合
によって ^、一致した行は次で始まる必要があります。 string。 場合 string null の場合、
前の文字列が使用されます。
?string と同じ / ただし、検索は順方向になります。
n 最後のパターンの次の一致を検索します。 / or ? コマンド。
N 最後のパターンの次の一致を検索します。 / or ?、しかし逆に
方向。
テキスト 修正 編集 コマンド
これらのコマンドは行を変更します。
a 入力モードに入り、現在の文字の後にテキストを入力します。
A 行末にテキストを追加します。に相当 $a.
[カウント]cモーション
c[カウント]モーション
現在の文字からその文字までを削除します モーション を動かすだろう
にカーソルを合わせて入力モードに入ります。もし モーション is c、行全体は次のようになります
削除され、入力モードに入りました。
C 現在の文字を行末まで削除して入力を入力します
モード。に相当 c$.
S に相当 cc.
[カウント]s 入力モードでカーソル下の文字を置換します。
D 現在の文字を行末まで削除します。に相当 d$.
[カウント]dモーション
d[カウント]モーション
現在の文字からその文字までを削除します モーション に移動することになります。
If モーション is d , 行全体が削除されます。
i 入力モードに入り、現在の文字の前にテキストを挿入します。
I 行の先頭にテキストを挿入します。に相当 0i.
[カウント]P 前のテキスト変更をカーソルの前に置きます。
[カウント]p 前のテキスト変更をカーソルの後に配置します。
R 入力モードに入り、画面上の文字を入力した文字に置き換えます。
タイプオーバーレイファッション。
[カウント]rc 置き換える カウント 現在のカーソル位置から始まる文字
  cをクリックしてカーソルを進めます。
[カウント]x 現在のキャラクターを削除します。
[カウント]X 前の文字を削除します。
[カウント]. 前のテキスト変更コマンドを繰り返します。
[カウント] 大文字と小文字を反転します。 カウント 現在のカーソルから始まる文字
カーソルを配置して進めます。
[カウント]_ 原因 カウント 追加して入力する前のコマンドの単語
モードに入りました。最後の単語は次の場合に使用されます。 カウント 省略されます。
* 原因となる * 現在の単語とファイル名生成に追加されます
試みた。一致するものが見つからない場合は、ベルが鳴ります。そうでなければ、その言葉は
が一致するパターンに置き換えられ、入力モードになります。
\ 前述のコマンドまたはファイル名の補完。
その他 編集 コマンド
その他のコマンド。
[カウント]yモーション
y[カウント]モーション
現在の文字を次の文字までヤンクします モーション を動かすだろう
カーソルを移動して削除バッファに置きます。文字とカーソルは、
変更なし。
yy 行全体をヤンクします。
Y 現在の位置から行末までヤンクします。に相当 y$.
u 最後のテキスト変更コマンドを元に戻します。
U その行で実行されたすべてのテキスト変更コマンドを元に戻します。
[カウント]v コマンドを返します シーッ -e ${ビジュアル:-${エディター:-vi}} カウント 入力の中で
バッファ。 もし カウント が省略された場合は、現在の行が使用されます。
^L 改行して現在の行を印刷します。コントロールモードでのみ効果があります。
^J (改行) モードに関係なく、現在の行を実行します。
^M (Return) モードに関係なく、現在の行を実行します。
# コマンドの最初の文字が #、その後、このコマンドは削除します
この # そしてそれぞれ # 改行が続きます。それ以外の場合はラインを送信します
を挿入した後、 # コマンドの各行の前に。役に立つ
現在の行がコメントとして履歴に挿入されます。
履歴ファイル内の以前にコメントされたコマンドのコメントを解除します。
[カウント]= If カウント が指定されていない場合は、一致するコマンドのリストが生成されます。または
ファイル名は上で説明したとおりです。それ以外の場合は、カーソル下の単語
に置き換えられます カウント 最近生成されたコマンドの項目、または
ファイルリスト。カーソルが単語上にない場合は、代わりに単語が挿入されます。
@手紙 エイリアス リストでは、名前でエイリアスが検索されます。 _手紙 そしてもし
この名前のエイリアスが定義されている場合、その値が入力に挿入されます。
処理のキュー。
^V シェルのバージョンを表示します。

内蔵 コマンド
次の単純なコマンドはシェル プロセスで実行されます。入力/出力リダイレクト
許可されています。特に指定がない限り、出力はファイル記述子 1 に書き込まれ、
構文エラーがない場合、終了ステータスは XNUMX です。を除いて :, true, false, echo,
新しいグループ, ログイン、すべての組み込みコマンドが受け入れられます -- オプションの終了を示します。彼らもまた
オプションを解釈する - 男 標準エラーにマニュアルページを表示するリクエストとして、 -?
を出力するヘルプリクエストとして 使用 標準エラーのメッセージ。コマンドは、
XNUMX つまたは XNUMX つの † 記号が前にあるものは特別な組み込みコマンドであり、特別に扱われます。
次の方法で
1. コマンドの前にある変数割り当てリストは、コマンドが実行されても有効なままです。
完了します。
2. I/O リダイレクトは、変数の割り当て後に処理されます。
3. エラーが発生すると、そのエラーを含むスクリプトが中止されます。
4. これらは有効な関数名ではありません。
5. コマンドの後に †† が前に付く変数形式の単語
代入は、変数の代入と同じルールで展開されます。これはつまり
チルダ置換は、 = 符号とフィールド分割とファイル
名前の生成は行われません。これらはと呼ばれます 宣言 内蔵。

: [ argは ...]
このコマンドはパラメータのみを展開します。

. [ argは ... ]
If で定義された関数です function 予約語構文、
関数は現在の環境で (あたかも関数が定義されているかのように) 実行されます。
() 構文。) それ以外の場合は、 ファイルを参照すると、ファイルはそのファイル内で読み取られます。
全体が完了し、コマンドは現在のシェル環境で実行されます。の
で指定された検索パス パス ファイルを含むディレクトリを検索するために使用されます。
引数がある場合 argは が与えられると、それらは位置パラメータになります。
を処理する . コマンドを実行すると、元の位置パラメータが復元されます。
完了。それ以外の場合、位置パラメータは変更されません。終了ステータスは、
最後に実行されたコマンドの終了ステータス。

†† alias [ -ptx ] [ [ = ]]..。
alias 引数を指定しないと、次の形式でエイリアスのリストが出力されます。 名前=値 on
標準出力。の -p オプションは単語を引き起こします alias それぞれの前に挿入される
XNUMXつ。 XNUMX つ以上の引数が与えられると、 alias それぞれに定義されています その
与えられます。 の末尾のスペース 次の単語がチェックされます
エイリアスの置換。時代遅れのもの -t オプションは追跡対象の設定とリストに使用されます
別名。追跡されるエイリアスの値は、
与えられた 。の値が次の場合、値は不定になります。 パス リセットされますが、
エイリアスは追跡されたままになります。なしで -t オプションごとに 引数リストの中で
いいえ を指定すると、エイリアスの名前と値が出力されます。の
廃止された -x オプションは効果がありません。次の場合、終了ステータスはゼロ以外になります。 与えられる、
しかし、値もエイリアスも定義されていません。 .

bg [ ジョブ...]
このコマンドは、ジョブ制御をサポートするシステム上でのみ使用できます。指定されたそれぞれを配置します ジョブ
背景に。次の場合、現在のジョブはバックグラウンドに置かれます。 ジョブ ではありません
指定。 見る Jobs > Create New Job の形式の説明については、 ジョブ.

破る [ n ]
囲いから出る for, while, までまたは select ループがある場合。もし n is
指定してからブレーク n レベル。

ビルトイン [ -ds ] [ -f file ] [ ...]
If 指定されておらず、いいえ -f オプションが指定されている場合、組み込みが出力されます
標準出力で。の -s オプションは特別な組み込みのみを出力します。さもないと、
は、ベース名が組み込みの名前であるパス名を表します。の
エントリ ポイント関数名は先頭に追加することによって決定されます。 b_ 組み込み名に。あ
パス名で指定された組み込み関数は、そのパス名が次の場合にのみ実行されます。
パス検索中に見つかりました。経由でロードされたライブラリにある組み込み .パス
ファイルは、 .パス
ファイルにソフトウェアを指定する必要があります。

ISO C/C++ プロトタイプは次のとおりです。 b_私のコマンド(int argc, チャリオット *引数[], ボイド *コンテキスト)
組み込みコマンド 私のコマンド コラボレー 引数 の配列です argc 要素とコンテキストは、
へのオプションのポインタ シェル_t で説明されている構造 .
特殊な組み込みはパス名にバインドしたり、削除したりすることはできません。の -d オプションはそれぞれを削除します
指定された組み込み。動的読み込みをサポートするシステムでは、 -f オプション名は
組み込みのコードを含む共有ライブラリ。共有ライブラリのプレフィックスおよび/または
システムに依存するサフィックスは省略可能です。ライブラリがロードされると、そのシンボルは
以降の呼び出しで使用可能になります ビルトイン。複数のライブラリを使用できます
の個別の呼び出しで指定されます。 ビルトイン 指示。ライブラリは次の場所で検索されます。
指定した順序とは逆になります。ライブラリがロードされると、
という名前のライブラリ内の関数 lib_init() そして、この関数を次のように呼び出します。
の引数 0.

cd [ -LP ] [ argは ]
cd [ -LP ] 古い 新製品
このコマンドは XNUMX つの形式のいずれかになります。最初の形式では、
現在のディレクトリを argは。 場合 argは is - ディレクトリは以前のものに変更されます
ディレクトリ。シェル変数 ホーム デフォルトです argは。 変数 PWD に設定されています
現在のディレクトリ。シェル変数 CDPATH の検索パスを定義します。
を含むディレクトリ argは。代替ディレクトリ名はコロンで区切られます
(:)。デフォルトのパスは次のとおりです (現在のディレクトリを指定します)。注意してください。
現在のディレクトリは null パス名で指定され、すぐに表示されます。
パス内の等号の後、またはコロン区切り文字の間
リスト。 もしも argは で始まる / その場合、検索パスは使用されません。それ以外の場合は、それぞれ
パス内のディレクトリが検索されます argは.
のXNUMX番目の形式 cd 文字列を置き換えます 新製品 文字列用 古い 現在の
ディレクトリ名、 PWD、この新しいディレクトリに変更しようとします。
デフォルトでは、ディレクトリを検索するときにシンボリック リンク名が文字通りに扱われます。
名前。これは、 -L オプション。 ザ· -P オプションを選択すると、シンボリック リンクが
ディレクトリを決定するときに解決されます。最後のインスタンス -L or -P
コマンドラインによって、どのメソッドが使用されるかが決まります。
この cd コマンドは次の人によっては実行されない可能性があります rksh。 rksh93。

command [ -pvxV ] [ argは ...]
なし -v or -V オプションは、 command 実行 で与えられた引数を使用して
argはを選択します。 -p オプションを指定すると、パスではなくデフォルトのパスが検索されます。
の値によって定義される パス。検索時に関数は検索されません
。 さらに、 特別な組み込みを指しますが、特別なものはありません
主要なダガーに関連付けられたプロパティが尊重されます。 (たとえば、
事前定義されたエイリアス リダイレクト='コマンド 実行する スクリプトが終了しないようにします。
無効なリダイレクトが指定されています。) -x オプション、コマンドを実行する場合
引数が多すぎるため失敗します。エラー番号 E2BIG、 シェル
コマンドを呼び出します それぞれの引数のサブセットを使用して複数回
呼び出し。複数に展開される最初の単語の前に発生する引数
引数と、複数の引数に展開される最後の単語の後に渡されます
呼び出しごとに。終了ステータスは最大の呼び出し終了ステータスになります。
-v オプション、 command 組み込みと同等です どこから コマンドの説明
未満。 の -V オプションの原因 command のように振る舞う どこから -v.

続ける [ n ]
囲みの次の反復を再開します for, while, までまたは select ループ。 もしも n
が指定されている場合は、その時点から再開します。 n- 番目の囲みループ。

勘当します [ ジョブ...]
シェルが指定された各ノードに HUP シグナルを送信しないようにします。 ジョブ、またはすべてのアクティブなジョブの場合
ジョブ ログインシェル終了時は省略されます。

echo [ argは ...]
最初のとき argは - で始まっておらず、引数に \ が含まれていません。
その後 echo 各引数をスペースで区切って出力し、末尾に
新しい行。それ以外の場合の動作は、 echo システムに依存しており、 印刷 or printf
以下に説明するものを使用する必要があります。見る echo(1) 使用法と説明について。

†† 列挙型 [ -i ] type[=( ...)]
という名前の宣言コマンドを作成します。 type これは、次のいずれかを許可する整数型です。
指定された s を列挙名として使用します。もし =( ...) 省略された場合 type
少なくとも XNUMX つの要素を持つインデックス付き配列変数である必要があり、値は次のとおりです。
この配列変数から取得されます。もし -i 値は大文字と小文字が区別されます。
鈍感。

評価する [ argは ...]
引数はシェルへの入力として読み取られ、結果のコマンドが実行されます。

exec [ -c ] [ -a ] [ argは ...]
If argは が与えられた場合、引数で指定されたコマンドが代わりに実行されます。
新しいプロセスを作成せずにこのシェルを実行します。の -c このオプションにより、環境は次のようになります。
に関連付けられた変数割り当てを適用する前にクリアする必要があります。 exec
呼び出し。 の -a オプションの原因 最初ではなく argは、になる argv [0]
新しいプロセスのために。入出力引数が表示され、現在の引数に影響を与える可能性があります。
処理する。 もしも argは が指定されていない場合、このコマンドの効果はファイルを変更することです
入出力リダイレクション リストで規定されている記述子。この場合、任意の
このメカニズムで開かれたファイル記述子番号が 2 より大きい場合は、
別のプログラムを呼び出すときは閉じられます。

終了する [ n ]
で指定された終了ステータスでシェルを終了します。 n。値は次のようになります。
指定されたステータスの最下位 8 ビット。もし n が省略された場合、
終了ステータスは、最後に実行されたコマンドのステータスです。ファイルの終わりも原因となります。
を含むシェルを除く、終了するシェル。 無視する オプション(を参照) セッションに 以下)
オン。

†† export [ -p ] [ [=]]..。
If 指定されていない場合、エクスポートでの各変数の名前と値
属性は、値を引用符で囲んで再印刷できるように出力されます。
入力。の export コマンドはと同じです タイプセット -x ただし、使用する場合は export
関数内ではローカル変数は作成されません。の -p オプションは単語を引き起こします
export それぞれの前に挿入されます。それ以外の場合は、指定された はマークされています
への自動エクスポート 環境 以降に実行されるコマンドの数。

false 何もせずに終了します 1。 まで 無限ループの場合。

fg [ ジョブ...]
このコマンドは、ジョブ制御をサポートするシステム上でのみ使用できます。それぞれ ジョブ 指定されているのは
フォアグラウンドに移動し、指定された順序で待機します。それ以外の場合は、
現在のジョブがフォアグラウンドに表示されます。見る Jobs > Create New Job の説明については
のフォーマット ジョブ.

getconf [ [ パス名 ]]
で指定された構成パラメータの現在の値を出力します。 を選択します。
設定パラメータは IEEE POSIX 1003.1 および IEEE POSIX 1003.2 によって定義されます。
規格。 (見る パス設定(2)と sysconf(2).) パス名 引数は必須です
値がファイル システム内の場所に依存するパラメータの場合。いいえの場合
引数が与えられ、 getconf 現在の名前と値を出力します。
構成パラメータ。パス名 / 各パラメータに使用されます。
必要 パス名.

取得 [ -a ] オプト文字列 vname [ argは ...]
小切手 argは 法的なオプションについては。もし argは が省略された場合、位置パラメータは次のようになります。
使用済み。オプション引数は、 + または -。で始まらないオプション +
or - または引数 -- オプションを終了します。で始まるオプション + は、ただ
いつ認識されるか オプト文字列 で始まる +. オプト文字列 という文字が含まれています
取得 認識します。文字の後に :、そのオプションは次のようになると予想されます
議論をする。オプションと引数は空白で区切ることができます。の
オプション -? 原因 取得 標準エラーで使用法メッセージを生成します。の -a
引数を使用して、使用法メッセージに使用する名前を指定できます。
デフォルトは $0.
取得 次に見つかったオプション文字を変数内に配置します vname そのたびに
が呼び出されます。オプション文字の先頭には + いつ argは で始まる +.
次のインデックス argは に格納されます 最適化。オプション引数があれば、それが取得されます。
に保管 オプターグ.
一流 : in オプト文字列 原因 取得 無効なオプションの文字を保存するには
オプターグ、そして設定するには vname 〜へ ? 不明なオプションについては、 : 必要なとき
オプション引数がありません。さもないと、 取得 エラーメッセージを出力します。出口
オプションがなくなった場合、status は XNUMX 以外になります。
オプションを指定する方法はありません :, +, -, ?, [, ]。 オプション #
最初のオプションとしてのみ指定できます。

シーッ [ -e エナメ ] [ -nlr ] [ 最初の [ last ]]
シーッ -s [ 古い=新製品 ] [ command ]
最初の形式では、以下の一連のコマンドが 最初の 〜へ last 最後から選択されます
履歴サイズ ターミナルで入力されたコマンド。引数 最初のlast
数値または文字列として指定できます。文字列は、最も多くのものを見つけるために使用されます。
指定された文字列で始まる最近のコマンド。負の数は次のように使用されます。
現在のコマンド番号へのオフセット。もし -l オプションが選択されている場合、コマンド
標準出力にリストされます。それ以外の場合は、エディタ プログラム エナメ で呼び出されます
これらのキーボード コマンドを含むファイル。もし エナメ が指定されていない場合、値は
変数の ヒストディット 使用されている。 場合 ヒストディット が設定されていない場合 FC編集 (デフォルト
/usr/bin/ex) がエディタとして使用されます。編集が完了すると、編集した内容が
変更が保存されている場合、コマンドが実行されます。もし last 指定されていません、
その後、次のように設定されます 最初の。 場合 最初の が指定されていない場合、デフォルトは
編集の場合は前のコマンド、リストの場合は -16 です。オプション -r 順序を逆にする
コマンドとオプションの -n リストするときにコマンド番号を抑制します。の中に
第二形態、 command として解釈されます 最初の 上で説明したように、デフォルトでは
最後に実行されたコマンド。結果のコマンドは、オプションの
置換 古い=新製品 は発表された。

jobs [ -lnp ] [ ジョブ ...]
指定された各ジョブに関する情報をリストします。または、アクティブなすべてのジョブの場合 ジョブ は省略されます。 の
-l オプションは、通常の情報に加えてプロセス ID をリストします。の -n オプション
最後に通知されてから停止または終了したジョブのみを表示します。の -p オプション
プロセス グループのみがリストされます。見る Jobs > Create New Job の説明については
のフォーマット ジョブ.

kill [ -s 署名名 ] ジョブ ...
kill [ -n シグナム ] ジョブ ...
kill -Ll [ SIG ...]
TERM (終了) シグナルまたは指定されたシグナルを指定されたサーバーに送信します。
ジョブまたはプロセス。信号は番号で指定されます。 -n オプションまたはによって
で名前を付けます -s オプション(で与えられるように) 、接頭辞「SIG」を取り除いたもの。
ただし、SIGCLD の名前は CHLD である点が異なります)。下位互換性のために、 n
s は省略でき、番号または名前は直後に配置されます。 -。 もし
送信される信号が TERM (終了) または HUP (ハングアップ) の場合、ジョブまたはプロセスは
停止した場合は CONT (継続) 信号が送信されます。議論 ジョブ することができます
アクティブなジョブのいずれかのメンバーではないプロセスのプロセス ID。見る Jobs > Create New Job
の形式の説明については、 ジョブ。第三形態では、 kill -lまたは kill -L、もし
SIG が指定されていない場合は、信号名がリストされます。の -l オプションリストのみ
信号名。 -L オプションには、各信号名と対応する番号がリストされます。
それ以外の場合は、それぞれ SIG つまり名前である場合、対応する信号番号がリストされます。
それぞれについて、 SIG それは数値であり、最も小さい信号に対応する信号名です。
の重要な 8 ビット SIG 記載されています。

argは ...
argは 別です 算術 表現 評価されること。 のみ認識します
次で始まる XNUMX 進定数 0セッションに オプション レタクトタル がオンになっています。見る 算術
評価 算術式の評価については、上記を参照してください。
最後の式の値がゼロ以外の場合、終了ステータスは 0 になり、1 になります。
さもないと。

新しいグループ [ argは ...]
に相当 exec /bin/newgrp argは ....

印刷 [ -CRenprsv ] [ -u 単位] [ -f 形式でアーカイブしたプロジェクトを保存します. ] [ argは ...]
オプションなしまたはオプションあり - or --、それぞれ argは 標準出力に出力されます。
この -f オプションを指定すると、次のように引数が出力されます。 printf。この内
場合、いずれか e, n, r, R オプションは無視されます。それ以外の場合は、 -C, -R, -rまたは -v
を指定すると、次のエスケープ規則が適用されます。
\a アラート文字 (ascii 07).
\b バックスペース文字 (ASCII) 010).
\c 目的 印刷 それ以上の引数を処理せず、新しい引数を追加せずに終了するには、
ライン。
\f フォームフィード文字 (ascii 014).
\n 改行文字 (ascii 012).
\r 復帰文字 (ASCII) 015).
\t タブ文字 (ASCII) 011).
\v 垂直タブ文字 (ASCII) 013).
\E エスケープ文字 (ascii 033).
\\ バックスラッシュ文字 \。
\0x で与えられる 1、2、または 3 桁の XNUMX 進文字列で定義される文字。 x.

この -R オプションは、後続のすべての引数とオプションを出力します。 -nを選択します。
-e 上記のエスケープ規則が適用されます。これがデフォルトです
行動。それは以前の効果を逆転させます -rを選択します。 -p オプションは
生成されたプロセスのパイプに書き込まれる引数 ⎪&
標準出力。の -v オプションはそれぞれを扱います argは を変数名として書き込みます。
printf %B フォーマット。 の -C オプションはそれぞれを扱います argは 変数名として
そして値を printf %#B フォーマット。 の -s オプションにより引数が発生します
標準出力の代わりに履歴ファイルに書き込まれます。の -u オプションはできます
1 桁のファイル記述子のユニット番号を指定するために使用されます。 単位 出力
が置かれます。デフォルトは 1 です。 -n 使用されています、いいえ 改行 追加されます
出力に。

printf 形式でアーカイブしたプロジェクトを保存します. [ argは ...]
議論 argは ANSI-C に従って標準出力に出力されます。
書式指定文字列に関連付けられた書式設定ルール 形式でアーカイブしたプロジェクトを保存します.。 の数が
引数が形式仕様の数を超えている場合、 形式でアーカイブしたプロジェクトを保存します. 文字列は再利用されます
残りの引数をフォーマットします。次の拡張子も使用できます。
%b A %b 形式は代わりに使用できます %s でエスケープシーケンスを発生させるには、
対応する argは で説明されているように拡張されます 印刷します。
%B A %B オプションを指定すると、各引数が変数名として扱われます。
変数のバイナリ値が出力されます。代替フラグ # を引き起こす
単一行に出力される複合変数。これが最も役立つのは、
複合変数とその属性が -b.
%H A %H 形式は代わりに使用できます %s 文字を引き起こす argは そのアール
HTML および XML ではエンティティ名として出力される特殊な機能です。代替
フラグ # URI として使用できるように出力をフォーマットします。
%P A %P 形式は代わりに使用できます %s 引き起こすために argは と解釈される
拡張正規表現であり、シェル パターンとして出力されます。
%R A %R 形式は代わりに使用できます %s 引き起こすために argは と解釈される
シェル パターンであり、拡張正規表現として出力されます。
%q A %q 形式は代わりに使用できます %s 結果の文字列が次のようになります
シェルに再入力できる方法で引用されます。いつ q 前に
代替形式指定子、 #、文字列は適切な方法で引用されます
のフィールドとして この.csv フォーマットファイル。
%(日付形式)T
A %(日付形式)T format を使用すると、引数を日付/時刻として扱うことができます。
文字列を作成し、それに応じて日付/時刻をフォーマットします。 日付形式 定義されています
date(1)コマンド。
%Z A %Z format は値が 0 のバイトを出力します。
%d の精度フィールド %d 形式の後には . と出力
ベース。この場合、 # フラグ文字の原因 ベース# 先頭に追加されます。
# この # フラグと一緒に使用する場合、 %d 出力ベースのないフォーマット、表示
1000 のべき乗単位の出力は、次の接尾辞のいずれかで示されます。 k M
G T P Eと併用すると、 %i 形式は出力をべき乗で表示します。
1024 は、次のいずれかの接尾辞で示されます。 Ki Mi Gi Ti Pi Ei.
= この = フラグは、指定されたフィールド幅内で出力を中央に配置します。
L この L フラグと一緒に使用する場合、 %c or %s フォーマットし、精度を次のように扱います
バイト数ではなく文字幅。
, この , フラグと一緒に使用する場合、 %d or %f フォーマット、数字のグループを区切る
グループ化区切り文字 (, C ロケールの 3 つのグループで。)

pwd [ -LP ]
現在の作業ディレクトリの値を出力します。の -L オプションはデフォルトです。
現在のディレクトリの論理名を出力します。もし -P オプションが与えられ、
すべてのシンボリック リンクは名前から解決されます。最後のインスタンス -L or -P on
コマンドラインによって、どのメソッドが使用されるかが決まります。

read [ -ACSprsv ] [ -d デリム] [ -n n] [[ -N n] [[ -t タイムアウト] [ -u 単位] [ vname?プロンプト
] [ vname ...]
シェルの入力メカニズム。 1 行が読み取られ、次のコマンドを使用してフィールドに分割されます。
の文字 IFS 区切り文字として。エスケープ文字、 \、を削除するために使用されます。
次の文字と行継続に対する特別な意味。の -d オプション
の最初の文字まで読み取りが継続されます。 デリム 改行ではなく。
この -n オプションの原因は最大でも n 完全な行ではなく読み取るバイト数ですが、返されます
文字が読み取られるとすぐに、遅いデバイスから読み取る場合。の -N
オプションは正確に原因を引き起こします n ファイルの終わりに達しない限り読み取られるか、
読み取りタイムアウトが原因で -t オプション。 RAWモードでは、 -NS、   \ キャラクターは
特別扱いされない。最初のフィールドは最初のフィールドに割り当てられます。 vname、 二番目
フィールドを XNUMX 番目まで vname、など、残りのフィールドは最後に割り当てられます。 vname.
日時 vname バイナリ属性を持ち、 -n or -N が指定されている場合、そのバイトは
読み取られた値は変数に直接保存されます。もし -v が指定されている場合、その値は
第一の vname 端末から読み取るときにデフォルト値として使用されます
端末。 ザ・ -A オプションにより変数が発生します vname 設定を解除する必要があり、設定されている各フィールド
インデックス付き配列の連続する要素に格納される読み取り値 vname。 この -C オプション
変数の原因となる vname 複合変数として読み取られます。ブランクは
開始の開き括弧を見つけるときは無視されます。 -S オプションを使用すると、次の行が表示されます。
のレコードのように扱われる この.csv 二重引用符を使用できるようにファイルをフォーマットする
区切り文字と改行文字を文内に表示できるようにします。
フィールド。 の -p オプションを使用すると、入力行が入力パイプから取得されます。
を使用してシェルによって生成されたプロセス ⎪&。 もし -s オプションが存在する場合、入力は
履歴ファイルにコマンドとして保存されます。オプション -u を指定するために使用できます
XNUMX桁のファイル記述子単位 単位 から読む。ファイル記述子は次のとおりです。
で開きました exec 特別な組み込みコマンド。単位のデフォルト値 n 0です。
オプション -t 端末からの読み取り時のタイムアウトを秒単位で指定するために使用されます。
またはパイプ。もし vname 省略された場合 応答 がデフォルトとして使用されます vname。終わり
のファイル -p オプションを使用すると、このプロセスがクリーンアップされ、別のプロセスが実行できるようになります。
産まれた。最初の引数に ?、この単語の残りの部分は次のように使用されます。
a プロンプト シェルが対話型の場合の標準エラー。終了ステータスは 0 です
ファイルの終わりに達しない限り、または read タイムアウトになりました。

†† 読み取り専用 [ -p ] [ vname[=]]..。
If vname 指定されていない場合、各変数の名前と値は読み取り専用です。
属性は、値を再利用できる方法で引用符で囲まれて出力されます。
入力されました。の -p オプションは単語を引き起こします 読み取り専用 それぞれの前に挿入されます。
それ以外の場合は、指定された vnameは読み取り専用としてマークされており、これらの名前は変更できません
その後の割り当てによって。型を定義するときに、読み取り専用サブクラスの値が
変数が定義されていない場合は、各インスタンスの作成時に値が必要です。

return [ n ]
貝殻が発生する function or . 終了して呼び出し元のスクリプトに戻るスクリプト
によって指定されたステータス n。値は、
指定されたステータス。もし n が省略された場合、戻りステータスは最後のステータスになります。
コマンドが実行されました。もし return にいないときに呼び出されます function または . スクリプト、
その後、それは次と同じように動作します 終了する.

セッションに [ ±BCGabefhkmnoprstuvx ] [ ±o [ オプション ] ] ... [ ±A vname ] [ argは ...]
このコマンドのオプションは次のような意味を持ちます。
-A 配列の代入。変数の設定を解除する vname 値を順番に割り当てます
argは リスト。 もしも +A 変数が使用されると、 vname 最初に設定が解除されていません。
-B 中括弧パターンフィールドの生成を有効にします。これはデフォルトの動作です。
-B 中括弧グループの展開を有効にします。デフォルトではオンです。
-C リダイレクトを防止します > 既存のファイルが切り捨てられないようにします。該当するファイル
作成されたファイルは O_EXCL モードで開かれます。必要 >⎪ ファイルを切り詰めるには
オンにしたとき。
-G パターンの原因となる ∗∗ 単独でファイルと XNUMX 個以上のディレクトリを照合します
ファイル名の生成に使用される場合は、サブディレクトリも含まれます。続いて /
ディレクトリとサブディレクトリのみが一致します。
-a 定義された後続の変数はすべて自動的にエクスポートされます。
-b バックグラウンドジョブの状態が変化するとすぐにジョブ完了メッセージを印刷します。
次のプロンプトを待つのではなく。
-e に含まれていない限り、 ⎪⎪ or && コマンド、または次のコマンド if
while or まで コマンドまたは次のパイプライン内で !、コマンドに
ゼロ以外の終了ステータスの場合は、 ERR 設定されている場合はトラップし、終了します。このモードは
プロファイルの読み取り中は無効になります。
-f ファイル名の生成を無効にします。
-h 各コマンドは、最初に検出されたときに追跡されるエイリアスになります。
-k (廃止)。すべての変数代入引数は環境内に配置されます
コマンド名の前にあるものだけでなく、コマンドに対しても。
-m バックグラウンド ジョブは別のプロセス グループで実行され、行が印刷されます。
完了時に。バックグラウンド ジョブの終了ステータスは、
完了メッセージ。ジョブ制御のあるシステムでは、このオプションはオンになります。
インタラクティブシェルの場合は自動的に実行されます。
-n コマンドを読んで構文エラーがないか確認しますが、実行しないでください。
対話型シェルの場合は無視されます。
-o 次の引数には、次のオプション名のいずれかを指定できます。
すべてエクスポート
と同じ -a.
エラー と同じ -e.
ブニツェ すべてのバックグラウンド ジョブは、より低い優先度で実行されます。これは
デフォルトモード。
ブレースエキスパンド
と同じ -B.
エマックス あなたを エマックス コマンド入力用のスタイルインラインエディター。
グロブスター
と同じ -G.
gmacs あなたを gmacs コマンド入力用のスタイルインラインエディター。
無視する
シェルはファイルの終わりで終了しません。コマンド 終了する
中古。
キーワード と同じ -k.
レタクトタル
この コマンドでは、次で始まる XNUMX 進定数を使用できます。 0.
マークディレクトリ
ファイル名生成の結果として得られるすべてのディレクトリ名には、
引きずります / 添付。
モニター と同じ -m.
複数行
組み込みエディタは、画面上で複数の行を使用します。
画面の幅よりも長い行。これはそうではないかもしれません
すべての端末で動作します。
ノークロバー
と同じ -C.
noexec と同じ -n.
ノグロブ と同じ -f.
ノーログ 関数定義を履歴ファイルに保存しないでください。
通知する と同じ -b.
名詞セット と同じ -u.
パイプの失敗
パイプラインのすべてのコンポーネントが完了するまで、パイプラインは完了しません。
完了しており、戻り値は最後の値になります。
コマンドが失敗する場合はゼロ以外、失敗したコマンドがない場合はゼロ。
見せて 有効にすると、単純なコマンドまたはパイプラインの前にセミコロンが付きます
(;) のように表示されます。 トレース オプションは有効になっていましたが、
実行されないこと。それ以外の場合は、先頭の ; 無視されます。
特権を持つ
と同じ -p.
詳細 と同じ -v.
トラックオール
と同じ -h.
vi の挿入モードになります。 vi ヒットするまでスタイル インライン エディター
エスケープ文字 033。これにより、制御モードになります。リターン
ラインを送ります。
ビロー 各文字は入力されたとおりに処理されます vi モード。
トレース と同じ -x.
オプション名が指定されていない場合、現在のオプション設定は次のようになります。
印刷されます。
-p の処理を無効にします $ HOME / .profile ファイルを作成し、そのファイルを使用します
/etc/suid_profile その代わりに ENV ファイル。このモードは、
実効 uid (gid) が実際の uid (gid) と等しくありません。これをオフにする
有効な uid と gid が実際の uid と gid に設定されます。
-r 制限付きシェルを有効にします。このオプションは、一度設定すると解除できません。
-s 位置パラメータを辞書順に並べ替えます。
-t (廃止)。 XNUMX つのコマンドを読み取って実行した後、終了します。
-u 置換時に未設定のパラメータをエラーとして扱います。
-v シェル入力行を読み取ったときに印刷します。
-x 実行時にコマンドとその引数を出力します。
-- どのオプションも変更しないでください。設定に役立ちます $1 始まる値まで
  -。このオプションの後に引数がない場合は、位置パラメータ
未設定です。

廃止された機能として、最初の場合は、 argは is - そうして -x-v オプションが切り替わる
オフと次 argは は第一引数として扱われます。使用する + ではなく -
これらのオプションはオフになります。これらのオプションは次の場合にも使用できます。
シェルの呼び出し。現在のオプションのセットは次の場所にあります。 $-。 そうでなければ -A
が指定されている場合、残りの引数は位置パラメータであり、割り当てられます。
するために $1 $2 .... 引数が指定されていない場合、次の名前と値が返されます。
すべての変数は標準出力に出力されます。

シフト [ n ]
からの位置パラメータ $n+1 ... の名前が変更されました $1 ... 、 デフォルト n は1です。
パラメーター n 非負に評価される任意の算術式を指定できます。
以下の数 $#.

眠る
指定された小数秒または秒の端数の間、実行を一時停止します。
by .

トラップ [ -p ] [ アクション ] [ SIG ]..。
この -p オプションは、指定されたとおりに各トラップに関連付けられたトラップ アクションを引き起こします。
引数は適切な引用符で出力されます。さもないと、 アクション なります
への引数であるかのように処理されます 評価する シェルがシグナルを受信したとき SIG.
SIG 数値または信号の名前として指定できます。トラップコマンドは、
シグナル番号順に実行されます。信号にトラップを設定しようとする試み
現在のシェルへの入り口で無視されることは無効です。もし アクション は省略され、
最初の SIG が数値であるか、 アクション is -、次にそれぞれのトラップ SIG リセットされる
本来の価値観に戻ります。もし アクション NULL 文字列の場合、この信号は無視されます
シェルとそれが呼び出すコマンドによって。 もしも SIG is ERR その後 アクション なります
コマンドの終了ステータスがゼロ以外の場合は常に実行されます。もし SIG is DEBUG その後
アクション 各コマンドの前に実行されます。変数 .sh コマンド 含まれます
現在のコマンドラインの内容 アクション が走っています。出口なら
トラップのステータスは 2 コマンドは実行されません。終了ステータスが
罠は 255 関数またはドット スクリプト内では、関数またはドット スクリプト
戻ります。もし SIG is 0 or EXITトラップ ステートメントは内部で実行されます
で定義された関数の本体 function 構文、次にコマンド アクション
関数の完了後に実行されます。もし SIG is 0 or EXIT のために トラップ セッションに
関数の外側、次にコマンド アクション シェルの終了時に実行されます。
If SIG is キーボードをタップし、その後、 アクション 中にキーが読み取られるたびに実行されます
エマックス, gmacsまたは vi モード。 の トラップ 引数のないコマンドは、次のリストを出力します。
各信号番号に関連付けられたコマンド。

An 終了する or return トラップアクションに引数を指定しないと、終了ステータスが保持されます。
トラップを呼び出したコマンド。

true 何もせずに終了します 0。 while 無限ループの場合。

†† タイプセット [ ±ACHSfblmnprtux ] [ ±EFLRXZi[n] ] [ +-M [ マップ名 ] ] [ -T [
名前=(assign_list) ] ] [ -h STR ] [ -a [type] ] [ vname[= ] ] ...
シェル変数と関数の属性と値を設定します。内部で呼び出される場合
で定義された関数 function 構文、変数の新しいインスタンス
vname が作成され、関数の実行時に変数の値と型が復元されます。
完了します。次の属性リストを指定できます。
-A 宣言 vname 連想配列になります。添字はむしろ文字列です
算術式よりも。
-C それぞれの原因となる vname 複合変数になります。 化合物に名前を付ける
コピー先の変数 vname。それ以外の場合は、それぞれの設定を解除します vname.
-a 宣言 vname インデックス付き配列になります。もし type が指定されている場合、それは
で作成された列挙型の名前 列挙型 コマンドを実行すると許可されます
添字として使用される列挙定数。
-E 宣言 vname 倍精度浮動小数点数になります。もし n
ゼロの場合、次の場合に使用される有効数字の数を定義します。
拡大 vname。それ以外の場合は、有効数字 XNUMX 桁が使用されます。
-F 宣言 vname 倍精度浮動小数点数になります。もし n
ゼロの場合、使用される小数点以下の桁数を定義します。
拡張するとき vname。それ以外の場合は、小数点以下 XNUMX 桁が次のようになります。
中古。
-H このオプションは、UNIX から非 UNIX マシン上のホスト名ファイルへのマッピングを提供します。
-L 左揃えにして先頭の空白を削除します 。 場合 n ゼロではない、それは
フィールドの幅を定義します。それ以外の場合は、フィールドの幅によって決まります。
最初の割り当ての値。変数が代入されると、
右側を空白で埋めるか、必要に応じて切り詰めて、
フィールド。 の -R オプションがオフになっています。
-M 文字マッピングを使用する マッピング によって定義されます wctrans(3)。のような 低い
トッパー 指定された各オペランドに値を割り当てるとき。いつ
マッピング が指定されており、オペランドがない場合、これを使用するすべての変数
マッピングは標準出力に書き込まれます。いつ マッピング は省略されており、そこにあります
オペランドがない場合、マップされた変数はすべて標準出力に書き込まれます。
-R 右寄せにして先頭に空白を埋めます。もし n ゼロ以外の場合、定義されます
フィールドの幅、それ以外の場合は値の幅によって決まります
最初の任務の。フィールドは空白で埋められたままになるか、切り捨てられます。
変数が再割り当てされた場合は終了します。の -L オプションがオフになっています。
-S 範囲内で使用される場合、 assign_list 型定義の場合、
型のすべてのインスタンスによって共有されるように指定されたサブ変数。使用時
で定義された関数内で function 予約語、指定された
変数には次のものがあります function 静的な 範囲。それ以外の場合、変数は設定解除されます
割り当てリストを処理する前に。
-T 続いて 名前、という名前の型を作成します。 名前 コンパウンドを使って
割り当て assign_list 〜へ 名前。それ以外の場合は、すべての型を書き込みます
定義を標準出力に出力します。
-X 宣言 vname 倍精度浮動小数点数になり、展開されます
%a ISO-C99のフォーマット。もし n ゼロ以外の場合、次の数を定義します。
展開時に使用される小数点以降の XNUMX 進数 vnameを選択します。
デフォルトは10です。
-Z 最初の非空白文字の場合は、右揃えにして先頭にゼロを埋めます。
は数字であり、 -L オプションが設定されていません。次の場合は先頭のゼロを削除します。
-L オプションも設定されています。もし n ゼロ以外の場合、フィールドの幅を定義します。
それ以外の場合は、最初の割り当ての値の幅によって決まります。
-f 名前は変数名ではなく関数名を指します。いいえ
割り当てを行うことができます。その他の有効なオプションは次のとおりです。 -S, -t, -u
-x。 -S は、型で定義された規律関数と一緒に使用できます。
関数が静的であることを示します。静的関数の場合も同様です
このメソッドは、インスタンスに関係なく、そのタイプのすべてのインスタンスによって使用されます。
それを参照します。さらに、変数の値のみを使用できます。
元の型定義。これらの規律関数は再定義できません。
任意の型のインスタンス。の -t オプションはこれの実行トレースをオンにします
関数。 ザ -u オプションを使用すると、この関数は未定義としてマークされます。の
FPATH 変数は、関数定義を見つけるために検索されます。
関数が参照されています。それ以外の選択肢がない場合は、 -f が指定されている場合、
関数定義は標準出力に表示されます。もし +f is
を指定し、関数名とその後にシェルを含む行
ファイルの行番号とパス名を含むコメント
関数が定義されている場合は、それが表示されます。終了ステータスは次の目的で使用できます。
次のように関数が定義されているかどうかを判断します。 タイプセット -f .sh.数学。
数学関数の場合は 0 を返します が定義されており、それ以外の場合はゼロ以外です。
-b 変数には任意のバイト数のデータを保持できます。データはテキストまたは
バイナリ。値は、データの Base64 エンコードによって表されます。もし -Z
も指定されている場合、バッファ内のデータのバイト単位のサイズは次のようになります。
に関連付けられたサイズによって決定されます -Z。 Base64文字列の場合
割り当てられた結果のデータが多くなると、切り捨てられます。それ以外の場合は、次のようになります
値がゼロのバイトで埋められます。の printf 形式でアーカイブしたプロジェクトを保存します. %B に使用することができます
のbase64エンコーディングの代わりに、このバッファ内の実際のデータを出力します。
データ。
-h 情報生成時に情報を追加するために型定義内で使用されます。
man ページのサブ変数について。以外で使用した場合は無視されます。
型定義。と一緒に使用する場合 -f 情報はに関連付けられています
対応する規律機能。
-i 宣言 vname 内部的には整数として表現されます。右側
代入の値は、代入時に算術式として評価されます。
整数。もし n ゼロ以外の場合、出力の算術基数を定義します。
それ以外の場合、出力の底は XNUMX になります。
-l と一緒に使用 -i, -E or -F、長整数または長浮動小数点数を示します。さもないと、
すべての大文字は小文字に変換されます。大文字
オプション、 -u、オフになります。に相当 -M 低い .
-m 変数を移動または名前変更します。値は変数の名前です。
値が移動されます vname。元の変数は設定解除されます。できません
他のオプションと一緒に使用できます。
-n 宣言 vname 名前が次のように定義されている変数への参照になる
変数の値 vname。これは通常、変数を参照するために使用されます
名前が引数として渡された関数内。使用できません
他のオプションも付いています。
-p 指定されたオブジェクトの名前、属性、および値 vnameは標準で書かれています
シェル入力として使用できる形式で出力します。もし +p が指定されている場合
値は表示されません。
-r 与えられた vnameは読み取り専用としてマークされており、これらの名前は次の方法で変更できません。
その後の任務。
-t 変数にタグを付けます。タグはユーザー定義可能であり、特別な意味はありません。
シェル。
-u 一緒に与えた場合 -i、符号なし整数を指定します。それ以外の場合は、すべてが低くなります-
大文字と小文字は大文字に変換されます。小文字のオプション、 -lであり、
オフになりました。に相当 -M トッパー .
-x 与えられた vnameへの自動エクスポート用にマークされています。 環境 of
その後に実行されるコマンド。名前に次の文字が含まれる変数 .
輸出される。

この -i 属性を一緒に指定することはできません -R, -L, -Zまたは -f.

使い方 + ではなく - これらのオプションはオフになります。いいえの場合 vname 引数
のリストが与えられます vname (そしてオプションで の) variables is
印刷された。 (使用 + ではなく - 値が出力されないようにする)。 -p
オプションの原因 タイプセット 各名前の前に印刷されるオプション文字が続きます
オプションの名前ではなく。それ以外のオプションがある場合 -p 与えられるだけです
指定されたオプションをすべて持つ変数が出力されます。それ以外の場合は、
vname属性 すべての variables 属性を持ったものが出力されます。

ulimit [ -HSacdfmnpstv ] [ 制限 ]
リソース制限を設定または表示します。利用可能なリソース制限を以下に示します。
多くのシステムは、これらの制限の XNUMX つ以上をサポートしていません。指定された制限
リソースは次の場合に設定されます 制限 が指定されています。 の値 制限 の数値を指定できます
各リソースで以下に指定される単位、または値 無限のを選択します。 -H-S
オプションは、指定されたリソースのハード制限またはソフト制限を指定します。
セット。ハードリミットは、一度設定すると増やすことはできません。ソフトリミットを設定できるのは、
ハードリミットの値まで増加しました。どちらでもない場合は、 H また S オプションがある
指定すると、制限は両方に適用されます。現在のリソース制限は次の場合に出力されます。
制限 は省略されます。この場合、ソフト リミットは、次の場合を除いて出力されます。 H 指定されています。
複数のリソースが指定されている場合、制限名と単位が出力されます。
値の前に。
-a 現在のリソース制限をすべてリストします。
-c コア ダンプのサイズの 512 バイト ブロックの数。
-d データ領域のサイズの K バイト数。
-f 現在のシステムで書き込むことができるファイル上の 512 バイトのブロックの数。
プロセスまたは子プロセスによって (任意のサイズのファイルを読み取ることができます)。
-m 物理メモリのサイズの K バイト数。
-n ファイル記述子の数に 1 を加えたもの。
-p パイプバッファリング用の 512 バイトのブロックの数。
-s スタック領域のサイズの K バイト数。
-t 各プロセスで使用される CPU 秒数。
-v 仮想メモリの K バイト数。

オプションが指定されていない場合は、 -f 想定されます。

umask [ -S ] [ mask ]
ユーザーファイル作成マスクはに設定されています mask (参照してください umask(2))。 mask どちらかであることができます
で説明されている XNUMX 進数または記号値 chmod(1)。記号値が
与えられた場合、新しい umask 値は適用結果の補数になります。 mask から
前の umask 値の補数。もし mask が省略されている場合、現在の値
マスクは印刷されています。の -S オプションを指定すると、モードがシンボリックとして出力されます。
価値。それ以外の場合、マスクは XNUMX 進数で出力されます。

エイリアス [ -a ] ...
のリストで指定されるエイリアス は別名リストから削除されます。の -a
オプションを指定すると、すべてのエイリアスの設定が解除されます。

unset [ -fnv ] vname ...
のリストで与えられる変数 vnameは割り当てられていません。つまり、サブ
型内の変数、その値と属性は消去されます。サブ変数の場合
タイプの場合、値はタイプ定義のデフォルト値にリセットされます。
読み取り専用変数は設定解除できません。もし -f オプションが設定されている場合、名前が参照されます
〜へ function 名前。もし -v オプションが設定されている場合、名前は以下を参照します。 変数
名前。 NS -f オプションの上書き -v。 場合 -n 設定され、 は名前参照です。
その後 参照する変数ではなく、設定が解除されます。デフォルト
に相当します -v。設定を解除する リネノ, メールチェック, オプターグ, 最適化, RANDOM, SECONDS,
TMOUT, _ たとえ後で割り当てられたとしても、その特別な意味は削除されます。
に。

wait [ ジョブ ...]
指定された時間を待ちます ジョブ そしてその終了状況を報告します。もし ジョブ 与えられていない、
その後、現在アクティブなすべての子プロセスが待機されます。からの終了ステータス
このコマンドは、最後に待機していたプロセスのコマンドです。 ジョブ 指定されています。さもないと
それはゼロです。見る Jobs > Create New Job の形式の説明については、 ジョブ.

どこから [ -afpv ] ...
それぞれについて、 、コマンド名として使用した場合にどのように解釈されるかを示します。
この -v オプションを指定すると、より詳細なレポートが生成されます。の -f オプションは検索をスキップします
関数。 ザ -p オプションはパス検索を行います 名前がエイリアスであっても、
関数、または予約語。の -p オプションはオフにします -v オプション。 ザ· -a
オプションは次のようなものです -v オプションですが、指定された名前のすべての解釈が行われます
報告されること。

呼び出し。
シェルが呼び出された場合 exec(2) および引数ゼロの最初の文字 ($0)であり、 -,
その場合、シェルは ログイン シェルとコマンドは次から読み取られます / etc / profile
それからどちらかから 。プロフィール 現在のディレクトリ内、または $ HOME / .profile、どちらかのファイルの場合
存在します。次に、対話型シェルの場合、次のコマンドを実行して、指定されたファイルからコマンドが読み取られます。
パラメータ展開、コマンド置換、および値の算術置換
環境変数 ENV ファイルが存在する場合。もし -s オプションが存在せず、 argは
という名前のファイル argは 存在する場合、このスクリプトを読み取って実行します。それ以外の場合は、
最初の argは が含まれていません /、最初のパス検索が実行されます。 argは 〜へ
実行するスクリプトの名前を決定します。スクリプト argは 実行権限が必要です
と任意の setuidセットギッド 設定は無視されます。スクリプトが見つからない場合は、
パス、 argは 組み込みコマンドまたは関数を指定したかのように処理されます。コマンドは次のとおりです
以下の説明に従ってお読みください。次のオプションは、シェルによって解釈されます。
呼び出された:

-D スクリプトを実行せず、二重引用符で囲まれた文字列のセットを出力します。
a $。これらの文字列は、スクリプトをさまざまな言語にローカライズするために必要です。
ローカル
-E で指定されたファイルを読み取ります。 ENV 変数または $HOME/ による.kshrc (後で定義されていない場合)
プロファイル。
-c Status -c オプションが存在する場合、コマンドは最初から読み取られます argは。 どれか
残りの引数は、次から始まる位置パラメータになります。 0.
-s Status -s オプションが存在するか、引数が残っていない場合、コマンドが読み取られます。
標準入力から。シェルの出力( Special
コマンド 上記のファイル記述子 2 に書き込まれます。
-i Status -i オプションが存在するか、シェルの入力と出力が
端末(によると tcgetattr(2)) の場合、このシェルは次のようになります。 相互作用的。この内
TERM の場合は無視されます (つまり、 kill 0 インタラクティブ シェルは強制終了されません)、および
INTR は捕捉されて無視されます (つまり、 wait は )。どのような場合でも、QUIT は無視されます。
シェル。
-r Status -r オプションが存在する場合、シェルは制限付きシェルです。
-D 二重引用符で囲まれたすべての文字列のリスト。 $ に印刷されます
標準出力が表示され、シェルが終了します。この文字列セットは以下の対象となります。
ロケールが C または POSIX ではない場合の言語翻訳。コマンドは実行されません
実行されました。
-R ファイル名
この -R ファイル名 オプションは、相互参照データベースを生成するために使用されます。
変数の定義と参照を見つけるために別のユーティリティで使用されます。
そしてコマンド。
残りのオプションと引数については、「 セッションに 上記のコマンド。アン
任意 - 最初の引数は無視されるため。
ルクシュ のみ。
ルクシュ ログイン名と実行環境を設定するために使用され、その機能がさらに強化されます。
標準シェルよりも制御されます。の行動 ルクシュ それらと同一です
of kshのただし、以下は禁止されています。
制限されたオプションの設定を解除します。
ディレクトリの変更 (参照 cd(1))、
の値または属性を設定または設定解除する SHELL, ENV, FPATHまたは 道、
を含むパスまたはコマンド名の指定 /,
出力をリダイレクトしています (>, >|, <>, >>).
組み込みコマンドの追加または削除。
command -p コマンドを呼び出します。

上記の制限は、 。プロフィールENV ファイルが解釈されます。

実行するコマンドがシェルプロシージャであることが判明した場合、 ルクシュ 呼び出す kshの 〜へ
それを実行してください。したがって、次のようなシェル プロシージャをエンド ユーザーに提供できます。
コマンドの限られたメニューを課しながら、標準シェルの全機能にアクセスします。
このスキームは、エンドユーザーが書き込み権限と実行権限を持っていないことを前提としています。
同じディレクトリ。

これらのルールの最終的な効果は、 。プロフィール ~を完全に制御している
ユーザーアクション。保証されたセットアップアクションを実行し、ユーザーを
適切なディレクトリ (おそらく ログインディレクトリ)。

システム管理者は多くの場合、コマンドのディレクトリを設定します (例: /usr/rbin) ができる
~によって安全に呼び出される ルクシュ.

EXIT ステータス


シェルによって構文エラーなどのエラーが検出されると、シェルはゼロ以外の値を返します。
終了ステータス。シェルが非対話的に使用されている場合、シェルの実行
サブシェル内でエラーが発生しない限り、ファイルは破棄されます。サブシェル内でエラーが発生した場合、サブシェルは
放棄された。それ以外の場合、シェルは最後に実行されたコマンドの終了ステータスを返します (「
また 終了する 上記のコマンド)。シェルによって検出された実行時エラーは、次のように報告されます。
コマンドまたは関数の名前とエラー状態を出力します。行番号が
発生したエラーが XNUMX より大きい場合、行番号も正方形で表示されます。
角かっこ([]) コマンドまたは関数名の後に追加します。

onworks.net サービスを使用してオンラインで rksh93 を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad