Linuxコマンドを学ぶ - 完全

bash 、エイリアス、 bg 、バインド、ブレイク、ビルトイン、 cd 、コマンド、compgen、完了、続行、サスペンド、テスト、タイム、トラップ、タイプ、タイプセット、ulimit、umask、 リターン 、セット、シフト、シャープ、 unalias 、unset、 wait - bash組み込みコマンド、 bash (1)を参照してください。

Bashビルトインコマンド

特に明記されていないかぎり、このセクションでは、オプションの終わりを示すために- accepts - の前にacceptingオプションとして記述された各組み込みコマンドを使用します。

[ 議論 ]

無効; 引数を拡張して指定されたリダイレクトを実行する以外に何もしません。 ゼロ終了コードが返されます。

ファイル名 [ arguments ]

ソース ファイル名 [ arguments ]

現在のシェル環境のfilenameからコマンドを読み込んで実行し、 filenameから最後に実行されたコマンドの終了ステータスを返しますfilenameにスラッシュが含まれていない場合は、 PATHのファイル名を使用してfilenameを含むディレクトリを検索しますPATHで検索されたファイルは実行可能である必要はありません。 bashposixモードにないときは、 PATHにファイルが見つからなければカレントディレクトリが検索されます。 shopt組み込みコマンドのsourcepathオプションがオフになっている場合、 PATHは検索されません。 引数が指定されていれば、 filenameが実行されたときの位置パラメータになります 。 さもなければ、位置パラメータは変更されない。 戻り状況は、スクリプト内で最後に終了したコマンドのステータスです(コマンドが実行されていない場合は0) 。filenameが見つからないか、読み取れない場合はfalseです。

エイリアス [ -p ] [ 名前 [= ] ...]

エイリアスに引数を指定しないか-pオプションを指定すると、エイリアスのリストがalias name = valueの形式で標準出力に出力されます。 引数が指定されると、その名前が与えられた名前ごとにエイリアスが定義されます。 末尾の空白は、エイリアスが展開されたときに次の単語のエイリアス置換を確認します。 が指定されていない引数リストの各名前について、エイリアスの名前と値が出力されます。 エイリアスが定義されていない名前が与えられていない限り、 エイリアスはtrueを返します。

bg [ jobspec ]

&で始まったかのように、中断されたジョブjobspecをバックグラウンドで再開します。 jobspecが存在しない場合、 現在のジョブのシェルの概念が使用されます。 bg jobspecは、ジョブ制御が無効になっている場合、またはジョブ制御が有効な状態で実行された場合、 jobspecが検出されなかった場合やジョブ制御なしで開始された場合を除き、0を返します。

bind [ -m keymap ] [ -lpsvPSV ]

バインド [ -m キーマップ ] [ -q 関数 ] [ -u 関数 ] [ -r keyseq ]

bind [ -m keymap ] -f filename

bind [ -m keymap ] -x keyseqシェルコマンド

bind [ -m keymap ] keyseq関数名

bind readline-command

現在のreadlineキーと関数バインディングを表示し、キーシーケンスをreadline関数またはマクロにバインドするか、 readline変数を設定します。 非オプションの引数はそれぞれ、 .inputrcに表示されるコマンドですが、各バインディングまたはコマンドは別々の引数として渡す必要があります。 例えば、 "\ Cx \ Cr":re-read-init-file 'を実行します。 オプションが指定されている場合は、次の意味を持ちます。

-m キーマップ

後のバインディングの影響を受けるキーマップとしてキーマップを使用します。 使用可能なキーマップ名は、 emacs、emacs-standard、emacs-meta、emacs-ctlx、vi、vi-move、vi-command 、およびvi-insertです。 viviコマンドと同等です。 emacsemacs-standardと同等です。

-l

すべてのreadline関数の名前をリストします。

-p

readlineの関数名とバインディングを再読み込みできるように表示します。

-P

現在のreadline関数名とバインディングをリストします。

-v

readlineの変数名と値を再読み込みできるように表示します。

-V

現在のreadlineの変数名と値をリストします。

-s

マクロにバインドされたreadlineキーシーケンスと、それらが出力する文字列を再読み込みできるように表示します。

-S

マクロにバインドされたreadlineキーシーケンスと、それらが出力する文字列を表示します。

-f filename

filenameからキーバインディングを読み込みます

-q 関数

名前付き関数を呼び出すキーを問い合わせます

-u 関数

名前付き関数にバインドされているすべてのキーのバインドを解除します。

-r keyseq

keyseqの現在のバインディングを削除します。

-x keyseqシェルコマンド

keyseqが入力されるたびにシェルコマンドを実行させます。

認識できないオプションが指定されているか、エラーが発生していない限り、戻り値は0です。

壊れる [ n ]

forwhileuntil 、またはselectループ内で終了します。 nが指定されている場合は、 n個のレベルを分割します。 nは> 1でなければなりません。nが囲むループの数より大きい場合、囲むループはすべて終了します。 breakが実行されたときにシェルがループを実行していない場合を除き、戻り値は0です。

組み込み シェル組み込み [ arguments ]

指定されたシェル組み込み関数を実行し、 引数を渡して、その終了状態を返します。 これは、シェル組み込み関数と同じ名前の関数を定義し、組み込み関数の機能を関数内に保持する場合に便利です。 cd組み込み関数は、通常、このように再定義されます。 シェル組み込みコマンドがシェル組み込みコマンドでない場合、戻り状況はfalseです。

cd [ -L | -P ] [ dir ]

現在のディレクトリをdirに変更します。 変数HOMEがデフォルトのディレクトリです。 変数CDPATHは、 dirを含むディレクトリの検索パスを定義します。 CDPATHの別のディレクトリ名は、コロン(:)で区切られています。 CDPATHのヌルディレクトリ名は現在のディレクトリ、つまり ``と同じです。 ''。 dirがスラッシュ(/)で始まる場合、 CDPATHは使用されません。 -Pオプションは、シンボリックリンクに従う代わりに物理ディレクトリ構造を使用するように指示します( set組み込みコマンドの-Pオプションも参照してください)。 -Lオプションを指定すると、シンボリックリンクが強制的に実行されます。 引数-$ OLDPWDに相当します。 ディレクトリが正常に変更された場合、戻り値はtrueです。 そうでなければfalse。

コマンド [ -pVv ] コマンド [ arg ...]

argsを指定してコマンドを実行すると、通常のシェル関数の参照が抑制されます。 組み込みのコマンドまたはPATH内のコマンドだけが実行されます。 -pオプションを指定すると、 コマンドの検索は、すべての標準ユーティリティーを見つけることが保証されているPATHのデフォルト値を使用して実行されます。 -Vまたは-vオプションを指定すると、 コマンドの説明が出力されます。 -vオプションを指定すると、コマンドの呼び出しに使用されたコマンドまたはファイル名を示す単一の単語が表示されます。 -Vオプションは、 より冗長な記述を生成します。 -Vまたは-vオプションが指定されている場合、 コマンドが見つかった場合は終了ステータスは0、それ以外の場合は1になります。 オプションが指定されておらず、エラーが発生したか、またはコマンドが見つからない場合、終了ステータスは127です。それ以外の場合、組み込みコマンドの終了ステータスはコマンドの終了ステータスです。

compgen [ オプション ] [ 単語 ]

-p-rを除いて組み込み関数全体が受け入れる任意のオプションである可能性のあるオプション sに従って、 単語の可能な補完マッチを生成し、そのマッチを標準出力に書き出します。 -Fオプションまたは-Cオプションを使用すると、プログラマブル補完機能によって設定されたさまざまなシェル変数が利用可能ですが、有用な値はありません。

一致は、プログラマブル完了コードが同じフラグを持つ完了仕様から直接生成した場合と同じ方法で生成されます。 単語が指定されている場合、 単語に一致する補完のみが表示されます。

無効なオプションが指定されているか、または一致が生成されない限り、戻り値はtrueです。

完全な [ -abcdefgjksuv ] [ -o comp-option ] [ -A アクション ] [ -G globpat ] [ -W wordlist ] [ -P 接頭辞 ] [ -S suffix ]


[ -X filterpat ] [ -F 関数 ] [ -C コマンド ] name [ name ... ]

完全な -pr [ 名前 ...]

名前の引数をどのようにして完了するかを指定します。 -pオプションが指定されている場合、またはオプションが指定されていない場合、既存の補完指定は入力として再利用できるように出力されます。 -rオプションは、各名前の補完指定を削除します。 名前が指定されていない場合は、すべての補完指定を削除します。

ワード補完が試みられたときにこれらの補完仕様を適用するプロセスは、 プログラマブル補完の下で上述した。

他のオプションが指定されている場合、以下の意味を持ちます。 完全な組み込み関数が呼び出される前に、それらを拡張から保護するために、 -G-W 、および-Xオプション(および必要に応じて-Pおよび-Sオプション)への引数を引用符で囲む必要があります。

-o comp-option

comp-optionは、単純な補完の生成を超えたcompspecの動作のいくつかの側面を制御しますcomp-optionは次のいずれかです:

デフォルト

compspecが一致を生成しない場合は、readlineのデフォルトのファイル名補完を使用してください。

名字

compspecが一致を生成しない場合、ディレクトリ名の補完を行います。

ファイル名

compspecがファイル名を生成するので、ファイル名に特有の処理(ディレクトリ名にスラッシュを追加する、後続のスペースを抑制するなど)を実行できるようにreadlineに指示します。 シェル関数と共に使用することを意図しています。

立つ瀬がない

readlineに、行の最後で完了した単語にスペース(デフォルト)を追加しないように指示します。

- アクション

可能な補完のリストを生成するためのアクションは、次のいずれかです。

エイリアス

エイリアス名。 -aとして指定することもできます。

arrayvar

配列変数名。

拘束

Readlineのキーバインディング名。

内蔵

シェル組み込みコマンドの名前。 -bとして指定することもできます。

コマンド

コマンド名。 名前として指定することもできます-cとして指定することもできます。

ディレクトリ

ディレクトリ名。 -dとして指定することもできます。

無効

無効なシェル組み込み関数の名前。

有効

有効なシェル組み込み関数の名前。

輸出する

エクスポートされたシェル変数の名前。 -eとして指定することもできます。

ファイル

ファイル名。 -fとして指定することもできます。

関数

シェル関数の名前。

グループ

グループ名。 -gとして指定することもできます。

点状の

ヘルプトピックは、 ヘルプに組み込まれています

ホスト名

ホスト名は、 HOSTFILEシェル変数で指定されたファイルから取得されます。

ジョブ

ジョブ制御が有効な場合はジョブ名。 -jとして指定することもできます。

キーワード

シェルの予約語。 -kとして指定することもできます。

ランニング

ジョブ制御がアクティブな場合は、実行中のジョブの名前。

サービス

サービス名。 -sとして指定することもできます。

setopt

組み込みセットに対する-oオプションの有効な引き数。

shopt

シェルのオプション名は、 shopt組み込み関数によって受け入れられます。

信号

シグナル名。

停止

ジョブ制御がアクティブな場合、停止したジョブの名前。

ユーザー

ユーザー名。 -uとして指定することもできます。

変数

すべてのシェル変数の名前。 -vとして指定することもできます。

-G globpat

ファイル名展開パターンglobpatが展開され、 補完候補が生成されます。

-W 単語リスト

ワードリストは、区切り文字としてIFS特殊変数の文字を使用して分割され、結果の各単語が展開されます。 可能な補完は、完了した単語に一致する結果のリストのメンバーです。

-C コマンド

コマンドはサブシェル環境で実行され、その出力は可能な補完として使用されます。

-F 関数

シェル関数関数は、現在のシェル環境で実行されます。 終了すると、可能な補完がCOMPREPLY配列変数の値から取り出されます。

-X filterpat

filterpatは、ファイル名の拡張に使用されるパターンです。 前のオプションと引数で生成された可能な補完のリストに適用され、 filterpatにマッチする各補完がリストから削除されます。 先導者 filterpatでパターンを否定します。 この場合、 filterpatと一致しないすべての補完は削除されます。

-P 接頭辞

接頭辞は、他のすべてのオプションが適用された後、それぞれの可能な補完の開始時に追加されます。

-S 接尾辞

他のすべてのオプションが適用された後、可能な補完ごとに接尾辞が追加されます。

無効なオプションが指定されていないか、 -pまたは-r以外のオプションがname引数なしで指定されている場合、指定がない名前の補完指定を削除しようとした場合、またはエラーが発生しない限り、戻り値はtrueです。補完仕様を追加する。

続ける [ n ]

囲みforwhileuntil 、またはselectループの次の繰り返しを再開ます。 nが指定されている場合は、 n番目の囲みループで再開します。 nは> 1でなければなりません。nが囲みループの数より大きい場合、最後に囲まれたループ( ``トップレベル ''ループ)が再開されます。 continueが実行されたときにシェルがループを実行していない場合を除き、戻り値は0です。

宣言 [ -afFirtx ] [ -p ] [ name [= value ]]

typeset [ -afFirtx ] [ -p ] [ name [= value ]]

変数を宣言し、その属性を与えます。 名前が指定されていない場合は、変数の値を表示します。 -pオプションは、各名前の属性と値を表示します。 -pを使用すると、追加のオプションは無視されます。 -Fオプションは、関数定義の表示を禁止します。 関数名と属性のみが出力されます。 -Fオプションは-fを意味します。 次のオプションを使用して、指定した属性を持つ変数に出力を制限したり、変数の属性を指定できます。

-a

名前は配列変数です(上記の配列を参照してください)。

-f

関数名のみを使用します。

-私

変数は整数として扱われます。 変数に値が割り当てられている場合、算術評価(「算術評価」を参照が実行されます。

-r

名前は読み取り専用にします。 これらの名前には、その後の代入文または未設定の値を割り当てることはできません。

-t

名前トレース属性を付けます。 トレースされた関数は呼び出し側シェルからDEBUGトラップを継承します。 trace属性には変数に特別な意味はありません。

-バツ

環境を介した後続のコマンドへのエクスポートには、 名前 sをマークします。

` - 'の代わりに` +'を使うと、代わりにアトリビュートがオフになります。ただし、配列変数を破壊するために+ aを使用することはできません。 関数で使用すると、 ローカルコマンドと同様に、各名前をローカルにします。 無効なオプションが見つからないか、 `` -f foo = bar ''を使用して関数を定義しようとすると、戻り値は0になり、読み取り専用変数に値を代入しようとすると、複合代入構文(上記の配列を参照)を使用せずに配列変数に値を代入するには、 名前の 1つが有効なシェル変数名ではなく、読み取り専用変数の読み取り専用状態をオフにしようとします。配列変数の配列状態をオフにしようとするか、 -fを指定して存在しない関数を表示しようとします。

dirs [-clpv ] [+ n ] [ - n ]

オプションなしでは、現在保存されているディレクトリのリストが表示されます。 デフォルトの表示は、ディレクトリ名をスペースで区切って1行に表示されます。 ディレクトリはpushdコマンドでリストに追加されます。 popdコマンドはリストからエントリを削除します。

+ n

オプションなしで起動されたときに、 dirsで示されるリストの左から数えてn番目のエントリを表示します。ゼロから始まります。

- n

オプションなしで呼び出されたときに、 dirsで示されるリストの右側から数えてn番目のエントリを表示します。

-c

すべてのエントリを削除してディレクトリスタックをクリアします。

-l

より長いリストを作成します。 デフォルトのリスト形式では、チルダを使用してホームディレクトリを表します。

-p

行ごとに1つのエントリでディレクトリスタックを出力します。

-v

ディレクトリスタックを1行に1つのエントリで印刷し、各エントリの先頭にスタックのインデックスを付けます。

無効なオプションが指定されていないか、ディレクトリスタックの終わりを超えてn個のインデックスが指定されていない限り、戻り値は0です。

disown [ -ar ] [ -h ] [ jobspec ...]

オプションがなければ、各ジョブのスペックはアクティブなジョブのテーブルから削除されます。 -hオプションを指定した場合、各ジョブ・スペックはテーブルから削除されませんが、シェルがSIGHUPを受け取った場合にSIGHUPがジョブに送られないようにマークされます。 jobspecがなく、 -aオプションも-rオプションも指定されていない場合、 現在のジョブが使用されます。 jobspecが指定されていない場合-aオプションはすべてのジョブを削除またはマークすることを意味します。 jobspec引数を指定しないで-rオプションを指定すると、実行中のジョブに操作が制限されます。 jobspecが有効なジョブを指定しない限り、戻り値は0です。

echo [ -neE ] [ arg ...]

argsをスペースで区切って出力し、その後に改行を続けます。 戻り値のステータスは常に0です。 -nを指定すると、末尾の改行は表示されません。 -eオプションを指定すると、以下のバックスラッシュエスケープ文字の解釈が有効になります。 -Eオプションは、デフォルトで解釈されるシステム上であっても、これらのエスケープ文字の解釈を無効にします。 xpg_echoシェルオプションは、 echoがデフォルトでこれらのエスケープ文字を展開するかどうかを動的に判断するために使用できます。 echoは解釈しません-オプションの終りを意味します。 echoは以下のエスケープシーケンスを解釈します:

\ a

警告(ベル)

\ b

バックスペース

\ c

末尾の改行を抑制する

\ e

エスケープ文字

\ f

フォームフィード

\ n

改行

\ r

キャリッジリターン

\ t

水平タブ

\ v

垂直タブ

\\

バックスラッシュ

\ 0 nnn

その値が8進値nnn (0〜3桁の8進数)である8ビット文字

\ nnn

値が8進値nnn (1〜3桁の8進数)である8ビット文字

\ xHH

値が16進値HH (1桁または2桁の16進数)である8ビット文字

enable [ -adnps ] [ -f filename ] [ name ...]

組み込みシェルコマンドを有効または無効にします。 組み込みコマンドを無効にすると、通常はシェルがディスクコマンドの前に組み込みを検索しても、シェル組み込みコマンドと同じ名前のディスクコマンドがフルパス名を指定せずに実行されます。 -nを使用すると、各名前は無効になります。 それ以外の場合は、 名前が有効になります。 たとえば、シェル組み込みバージョンの代わりにPATHで見つかったテストバイナリを使用するには、 `` enable -n test ''を実行します。 -fオプションは、動的ローディングをサポートするシステム上で、共有オブジェクトfilenameから新しい組み込みコマンドをロードすることを意味します。 -dオプションは、以前に-fでロードされた組み込み関数を削除します。 名前引数が指定されていない場合、または-pオプションが指定されている場合は、シェル組み込み関数のリストが出力されます。 他のオプション引数がない場合、リストはすべての有効なシェル組み込み関数で構成されます。 -nを指定すると、無効な組み込み関数のみが出力されます。 -aが指定されている場合は、リストが表示され、すべての組み込みが含まれているかどうかが示されます。 -sが指定された場合、出力はPOSIXの特別な組み込み関数に制限されます。

名前がシェル組み込み関数でないか、共有オブジェクトから新しい組み込み関数をロードする際にエラーが発生しない限り、戻り値は0です。

eval [ arg ...]

argsは読み込まれ、一緒に1つのコマンドに連結されます。 このコマンドはシェルによって読み込まれて実行され、その終了ステータスはevalの値として返されます。 引数がない場合、または引数がnullの場合、 evalは0を返します。

exec [ -cl ] [ -a name ] [ command [ arguments ]]

commandを指定すると、シェルが置き換えられます。 新しいプロセスは作成されません。 引数はコマンド引数になります。 -lオプションを指定すると、シェルはコマンドに渡された0番目のargの先頭にダッシュを入れます。 これがlogin (1)の動作です。 -cオプションを指定すると、空の環境でコマンドが実行されます。 -aが指定されている場合、シェルはnameを実行されたコマンドの第0引数として渡します。 なんらかの理由でcommandを実行できない場合、シェルオプションexecfailが有効でない限り、非対話シェルが終了します。 ファイルを実行できない場合、対話型シェルは失敗を返します。 commandが指定されていない場合、リダイレクションは現在のシェルで有効になり、リターンステータスは0になります。リダイレクトエラーがある場合、戻りステータスは1です。

出口 [ n ]

シェルを状態nで終了させます。 nを省略すると、終了ステータスは最後に実行されたコマンドのステータスになります。 EXITのトラップは、シェルが終了する前に実行されます。

export [ -fn ] [ name [= word ]] ...

エクスポート -p

指定された名前には、その後に実行されるコマンドの環境への自動エクスポートがマークされます。 -fオプションを指定した場合、 名前は関数を参照します。 名前が指定されていない場合、または-pオプションが指定されている場合は、このシェルでエクスポートされたすべての名前のリストが出力されます。 -nオプションを指定すると、名前付き変数からエクスポート・プロパティーが削除されます。 無効なオプションに遭遇した場合、 名前の 1つが有効なシェル変数名でない場合、または-fに関数ではない名前が指定されている場合を除き、 exportは終了ステータス0を返します。

fc [ -e ename ] [ -nlr ] [ first ] [ last ]

fc -s [ pat = rep ] [ cmd ]

修正コマンド。 最初の形式では、 最初から最後までの範囲のコマンドが履歴リストから選択されます。 firstlastは、文字列(その文字列で始まる最後のコマンドを見つけるため)または数値(履歴リストのインデックス、負の数は現在のコマンド番号からのオフセットとして使用されます)として指定できます。 lastが指定されていない場合は、リストの現在のコマンドに設定されます( `` fc -l -10 ''は最後の10個のコマンドを出力します)。 firstが指定されていない場合、それは編集のための前のコマンドとリストのための-16に設定されます。

-nオプションは、リスティング時にコマンド番号を抑制します。 -rオプションは、コマンドの順序を逆にします。 -lオプションを指定すると、コマンドは標準出力に表示されます。 それ以外の場合、 enameによって与えられたエディタは、それらのコマンドを含むファイルに対して呼び出されます。 enameを指定しないと、 FCEDIT変数の値が使用され、 FCEDITが設定されていない場合はEDITORの値が使用されます。 どちらの変数も設定されていない場合は、使用されます。 編集が完了すると、編集されたコマンドがエコーされて実行されます。

2番目の形式では、 patの各インスタンスがrepに置き換えられた後にコマンドが再実行されます。 これを使う便利なエイリアスは `` r = fc -s ''なので、 `` r cc ''をタイプすると `` cc ''で始まる最後のコマンドが実行され、 `` r ''で最後のコマンドが実行されますコマンド。

最初の形式が使用されている場合、無効なオプションに遭遇したり、範囲の範囲外の履歴行を最初または最後に指定しない限り、戻り値は0になります。 -eオプションが指定されている場合、戻り値は実行された最後のコマンドの値です。コマンドの一時ファイルでエラーが発生した場合は失敗します。 2番目の形式が使用されている場合、 cmdが有効な履歴行を指定していない限り、 fcは失敗を返します。

fg [ jobspec ]

フォアグラウンドでjobspecを再開し、現在のジョブにします。 jobspecが存在しない場合、 現在のジョブのシェルの概念が使用されます。 戻り値は、フォアグラウンドに置かれたコマンドの戻り値、またはジョブ制御が使用不可になったときに実行された場合、またはジョブ制御が有効な状態で実行された場合、 jobspecが有効なジョブを指定していないか、 jobspecがジョブ制御なしで開始されたジョブ。

getopts optstring name [ args ]

getoptsは、シェル・プロシージャーが位置パラメーターを解析するために使用します。 optstringには、認識されるオプション文字が含まれています。 文字の後にコロンが続く場合、そのオプションは空白で区切られた引数を持つことが期待されます。 コロンと疑問符文字はオプション文字として使用できません。 呼び出されるたびに、 getoptsはシェル変数に次のオプションを、存在しない場合は名前を初期化し、変数OPTINDに処理される次の引数のインデックスを配置します。 OPTINDは、シェルまたはシェルスクリプトが呼び出されるたびに1に初期化されます。 オプションに引数が必要な場合、 getoptsはその引数を変数OPTARGに入れます。シェルはOPTINDを自動的にリセットしません。 新しいパラメータセットを使用する場合は、同じシェル呼び出し内でgetoptsを複数回呼び出す間に手動でリセットする必要があります。

オプションの終わりに遭遇すると、 getoptsは0より大きい戻り値で終了します。 OPTINDは最初の非オプション引数のインデックスに設定され、 nameは?に設定されます。

getoptsは通常、位置パラメータを解析しますが、 argsでより多くの引数が指定された場合、 getoptsはそれらを代わりに解析します。

getoptsは2つの方法でエラーを報告できます。 optstringの最初の文字がコロンの場合、 サイレントエラー報告が使用されます。 通常の操作では、無効なオプションまたは欠落しているオプション引数が見つかった場合に診断メッセージが出力されます。 変数OPTERRが0に設定されている場合、 optstringの最初の文字がコロンでない場合でもエラーメッセージは表示されません。

無効なオプションが見つかった場合は、 getoptsに置き換えますか? 無音でない場合は、エラーメッセージを出力し、 OPTARGを設定解除しますgetoptsがサイレントの場合、見つかったオプション文字はOPTARGに置かれ、診断メッセージは出力されません。

必要な引数が見つからず、 getoptsがサイレントでない場合、疑問符( )が名前に付けられOPTARGは設定されず、診断メッセージが出力されます。 getoptsがサイレントであれば、コロン(:)が名前に入れられ、 OPTARGは見つかったオプション文字に設定されます。

getoptsは、指定されたオプションまたは指定されていないオプションが見つかるとtrueを返します。 オプションの終わりに遭遇した場合、またはエラーが発生した場合はfalseを返します。

hash [ -lr ] [ -p filename ] [ -dt ] [ name ]

それぞれの名前について、コマンドの完全なファイル名は$ PATH内のディレクトリを検索することによって決定され、記憶されます。 -pオプションを指定すると、パス検索は実行されず、 filenameがコマンドの完全なファイル名として使用されます。 -rオプションを指定すると、シェルはすべての記憶された場所を忘れる。 -dオプションを指定すると、シェルは各名前の記憶場所を忘れてしまいます。 -tオプションを指定すると、各名前に対応するフルパス名が出力されます。 複数のname引数が-tで指定された場合、その名前はハッシュされたフルパス名の前に出力されます。 -lオプションを指定すると、出力が入力として再利用される形式で表示されます。 引数が指定されていない場合、または-lのみが指定された場合は、記憶されたコマンドに関する情報が出力されます。 名前が見つからないか、無効なオプションが指定されていない限り、戻り状況は真です。

ヘルプ [ -s ] [ パターン ]

組み込みコマンドに関する有用な情報を表示します。 patternが指定されている場合、 helpパターンに一致するすべてのコマンドについて詳細なヘルプを提供します。 そうでなければ、すべての組み込み関数とシェル制御構造のヘルプが出力されます。 -sオプションは、表示される情報を短い使用法の概要に制限します。 patternと一致するコマンドがない限り、戻り状況は0です。

歴史[ n ]

歴史 -c

履歴-d オフセット

history -anrw [ ファイル名 ]

歴史 -p arg [ arg ... ]

歴史 -s arg [ arg ... ]

オプションを指定しない場合は、コマンド履歴リストに行番号を表示します。 *でリストされた行は変更されています。 引数nは、最後のn行だけをリストします。 filenameが指定されている場合、それは履歴ファイルの名前として使用されます。 そうでない場合、 HISTFILEの値が使用されます。 オプションが指定されている場合は、次の意味を持ちます。

-c

すべてのエントリを削除して履歴リストを消去します。

-d オフセット

位置オフセットで履歴エントリを削除します。

-a

``新しい ''履歴行(現在のbashセッションの始めから入力された履歴行)を履歴ファイルに追加します。

-n

履歴ファイルからまだ読み込まれていない履歴行を現在の履歴リストに読み込みます。 これは、現在のbashセッションの開始以来、履歴ファイルに追加された行です。

-r

履歴ファイルの内容を読み、それらを現在の履歴として使用します。

-w

現在の履歴を履歴ファイルに書き込んで、履歴ファイルの内容を上書きします。

-p

次の引数に対して履歴置換を実行し、結果を標準出力に表示します。 結果を履歴リストに保存しません。 通常の履歴展開を無効にするには、各引数を引用符で囲む必要があります。

-s

履歴リストにargsを1つのエントリとして格納します。 履歴リストの最後のコマンドは、 引数が追加される前に削除されます。

無効なオプションが見つからないか、履歴ファイルの読み書き中にエラーが発生したり、無効なオフセット-dの引数として指定されたり、 -pの引数として指定された履歴拡張が失敗したりしない限り、戻り値は0になります。

jobs [ -lnprs ] [ jobspec ...]

jobs -x コマンド [ args ...]

最初の形式では、アクティブなジョブが一覧表示されます。 オプションの意味は次のとおりです。

-l

通常の情報に加えてプロセスIDをリストします。

-p

ジョブのプロセス・グループ・リーダーのプロセスIDのみをリストします。

-n

ユーザーにステータスが最後に通知された後にステータスが変更されたジョブについての情報のみを表示します。

-r

出力を実行中のジョブに制限する。

-s

出力を停止したジョブに制限する。

jobspecが指定された場合、出力はそのジョブに関する情報に制限されます。 無効なオプションに遭遇したか無効なjobspecが指定されていない限り、戻りステータスは0です。

-xオプションが指定されていると、 ジョブcommandまたはargsにあるジョブ・ スペックを対応するプロセス・グループIDに置き換え、 argsを渡すコマンドを実行して終了ステータスを戻します。

kill [ -s sigspec | -n signum | - sigspec ] [ pid | ジョブスペック ] ...

kill -l [ sigspec | exit_status ]

sigspecまたはsignumで指定されたシグナルを、 pidまたはjobspecで指定されたプロセスに送信します。 sigspecSIGKILLのようなシグナル名かシグナル番号のどちらかです。 signumはシグナル番号です。 sigspecがシグナル名である場合、名前はSIG接頭辞の有無にかかわらず与えられます。 sigspecが存在しない場合、 SIGTERMが仮定されます。 引数-lはシグナル名をリストします。 -lが指定されたときに引数が指定された場合、引数に対応するシグナルの名前がリストされ、戻りステータスは0になります。- lexit_status引数は、シグナル番号またはaの終了ステータスプロセスはシグナルで終了しました。 killは、少なくとも1つのシグナルが正常に送信された場合はtrue 返し、エラーが発生するか無効なオプションが検出された場合はfalse 返します。

let arg [ arg ...]

argは評価されるべき算術式である( ARITHMETIC EVALUATIONを参照)。 最後のargが0に評価された場合、 letは1を返します。 それ以外の場合は0が返されます。

ローカル [ オプション ] [ 名前 [= ] ...]

各引数に対して、 nameという名前のローカル変数が作成され、 値が割り当てられます 。 オプションは、 宣言によって受け入れられるオプションのいずれかになります。 関数内でlocalが使用されると、変数はその関数とその子に制限された可視範囲を持ちます。 オペランドがない場合、 localはローカル変数のリストを標準出力に書き込みます。 関数内にないときは、 ローカルを使うのは誤りです。 戻り値のステータスは、関数の外部でlocalが使用されていないか、無効な名前が指定されているか、または名前が読み取り専用変数でない限り0です。

ログアウト

ログインシェルを終了します。

popd [ - n ] [+ n ] [ - n ]

ディレクトリスタックからエントリを削除します。 引数なしでは、スタックからトップディレクトリを削除し、新しいトップディレクトリにcdを実行します。 引数が指定されている場合、引数の意味は次のとおりです。

+ n

dirsで示されるリストの左から数えてn番目のエントリを削除します。ゼロから始まります。 例: `` popd +0 ''は最初のディレクトリを削除し、 `` popd +1 ''は第2のディレクトリを削除します。

- n

dirsで示されるリストの右側から数えてn番目のエントリを削除します。ゼロから始まります。 たとえば、 `` popd -0 ''は最後のディレクトリを削除し、 `` popd -1 ''は最後のディレクトリを削除します。

-n

ディレクトリのみを操作するように、ディレクトリからディレクトリを削除するときの通常のディレクトリ変更を抑止します。

popdコマンドが成功するとdirsも実行され、戻りステータスは0です。無効なオプションが見つかった場合、ディレクトリスタックが空の場合、存在しないディレクトリスタックエントリが指定されている場合、またはディレクトリ変更は失敗します。

printf 形式 [ 引数 ]

フォーマットされた引数をフォーマットの制御下で標準出力に書き出します形式は、標準出力に単純にコピーされるプレーン・キャラクタ、標準出力に変換およびコピーされるキャラクタ・エスケープ・シーケンス、および次のキャラクタの印刷を引き起こすフォーマット指定の3種類のオブジェクトを含む文字列です。連続する議論 。 標準のprintf (1)形式に加えて、 %bprintfに対応する引数のバックスラッシュエスケープシーケンスを展開させ、 %qprintfに対応する引数をシェル入力として再利用できる形式で出力させます。

フォーマットは、すべての引数を消費するために必要に応じて再利用されます書式指定された数より多くの引数を必要とする場合、余分な書式指定は、ゼロ値または空文字列が適切に指定されたかのように動作します。 戻り値は成功した場合はゼロであり、失敗した場合はゼロではありません。

pushd [ -n ] [ dir ]

pushd [ -n ] [+ n ] [ - n ]

ディレクトリスタックの一番上にディレクトリを追加するか、スタックを回転させて、スタックの新しいトップを現在の作業ディレクトリにします。 引数がなければ、ディレクトリスタックが空でない限り、上位2つのディレクトリを交換して0を返します。 引数が指定されている場合、引数の意味は次のとおりです。

+ n

n番目のディレクトリ( dirsで示されたリストの左から数えて、ゼロから始まる)が一番上になるようにスタックを回転します。

- n

n番目のディレクトリ( dirsで示されるリストの右側から数えて、0から始まる)が一番上になるようにスタックを回転します。

-n

ディレクトリのみを操作するように、ディレクトリをスタックに追加するときのディレクトリの通常の変更を抑止します。

最上位のディレクトリスタックにdirを追加し、新しい現在の作業ディレクトリにします。

pushdコマンドが成功すると、 dirsも実行されます。 最初の形式が使用されている場合、cd to dirが失敗しない限り、 pushdは0を返します。 2番目の形式では、ディレクトリスタックが空であるか、存在しないディレクトリスタック要素が指定されているか、指定された新しいカレントディレクトリへのディレクトリ変更が失敗しない限り、 pushdは0を返します。

pwd [ -LP ]

現在の作業ディレクトリの絶対パス名を表示します。 -Pオプションが指定されているか、 set組み込みコマンドに-o physicalオプションが指定されている場合、出力されるパス名にはシンボリックリンクは含まれません。 -Lオプションを使用すると、出力されるパス名にシンボリックリンクが含まれることがあります。 現行ディレクトリーの名前を読み取っているときにエラーが発生していないか、無効なオプションが指定されていない限り、戻り状況は0です。

[ -n ] [ -n ] [ -d ] [ -d ] [ -d ]

1行が標準入力から読み込まれるか、 -uオプションの引数として指定されたファイル記述子fdから読み込まれ、最初の単語が最初の名前に割り当てられ、2番目の単語が2番目の名前に割り当てられます姓に割り当てられた単語とその介在するセパレータ。 入力ストリームから読み取られる単語の数が名前よりも少ない場合、残りの名前には空の値が割り当てられます。 IFSの文字は、行を単語に分割するために使用されます。 バックスラッシュ文字( \ )を使用して、次の文字読み取りおよび行継続のための特別な意味を削除することができます。 オプションが指定されている場合は、次の意味を持ちます。

アネーム

ワードは配列変数anameの連続したインデックスに割り当てられ、0から始まります。新しい値が割り当てられる前にanameは設定解除されます。 他の名前引数は無視されます。

-d delim

delimの最初の文字は、改行ではなく入力行を終了するために使用されます。

-e

標準入力が端末から来ている場合は、 readline (上のREADLINEを参照)を使用して行を取得します。

-n nchars

完全な入力行を待つのではなく、 nchars文字を読み込んだ後にreadが返されます。

-p プロンプト

入力を読み取ろうとする前に、改行がない標準的なプロンプトを表示します 。 プロンプトは、端末からの入力がある場合にのみ表示されます。

-r

バックスラッシュはエスケープ文字として機能しません。 バックスラッシュは、行の一部と見なされます。 特に、バックスラッシュと改行の組は、行の継続として使用できません。

-s

サイレントモード。 入力が端末から来ている場合、文字はエコーされません。

-t タイムアウト

完全な入力行がタイムアウト秒以内に読み込まれない場合は、読み込みをタイムアウトにして失敗を返します。 このオプションは、 読み込みが端末またはパイプからの入力を読み取っていない場合は無効です。

-u fdFP

ファイル記述子fdから入力を読み込みます。

名前が指定されていない場合、変数readに行読み取りが割り当てられます。 ファイルの終わりが見つからないか、 読み取り時間が切れたり、無効なファイル記述子が-uの引数として指定されていない限り、戻りコードはゼロです。

readonly [ -apf ] [ name ...]

指定された名前は読み取り専用とマークされます。 これらの名前の値は、その後の割り当てによって変更されないことがあります。 -fオプションを指定すると、その名前に対応する関数がマークされます。 -aオプションは、変数を配列に制限します。 名前引数が指定されていない場合、または-pオプションが指定されている場合は、すべての読み取り専用名のリストが出力されます。 -pオプションを指定すると、出力が入力として再利用される形式で表示されます。 無効なオプションが見つかったか、 名前の 1つが有効なシェル変数名でないか、 -fに関数ではない名前が指定されていない限り、戻り値のステータスは0です。

リターン [ n ]

nで指定された戻り値で関数を終了させます。 nを省略した場合、戻り値は関数本体で最後に実行されたコマンドの戻り値です。 関数の外側で使用されているが、スクリプトの実行中にsource )コマンドを実行すると、シェルはそのスクリプトの実行を停止し、スクリプト内で最後に実行されたコマンドのnまたは終了ステータスをスクリプトの終了ステータスとして返します。 関数の外側で使用され、スクリプトの実行中ではない場合 戻りステータスはfalseです。

[ - abefhkmnptuvxBCHP ] [ -o オプション ] [ arg ...]を設定します。

オプションがなければ、各シェル変数の名前と値は、入力として再利用できる形式で表示されます。 出力は、現在のロケールに従ってソートされます。 オプションを指定すると、シェル属性を設定または設定解除します。 オプションの処理後に残っている引数は、位置パラメータの値として扱われ、 $ 1$ 2... $ nの順に割り当てられます。 オプションが指定されている場合、以下の意味があります。

-a

後続のコマンドの環境にエクスポートするために変更または作成された変数および関数を自動的にマークします。

-b

次のプライマリプロンプトの前ではなく、終了したバックグラウンドジョブのステータスを直ちに報告します。 これは、ジョブ制御が有効な場合にのみ有効です。

-e

シンプルなコマンド (上記のSHELL GRAMMARを参照)がゼロ以外のステータスで終了するとすぐに終了します。 失敗したコマンドがuntilまたはwhileループ、 ifステートメントの一部、 &&または||の一部である場合、シェルは終了しません。 リストを使用してコマンドの戻り値が反転されている場合、 。 ERRのトラップが設定されていると、シェルが終了する前に実行されます。

-f

パス名の展開を無効にします。

-h

実行のために検索されたコマンドの場所を覚えておいてください。 これはデフォルトで有効になっています。

-k

代入文の形式のすべての引数は、コマンド名の前にあるものだけでなく、コマンドの環境に置かれます。

-m

モニターモード。 ジョブ制御が有効になっています。 このオプションは、それをサポートしているシステムの対話型シェルでは、デフォルトでオンになっています(上記のJOB CONTROLを参照)。 バックグラウンド・プロセスは別のプロセス・グループで実行され、その終了ステータスを含む行が完了すると印刷されます。

-n

コマンドを読み込みますが、 コマンドは実行しません。 シェルスクリプトの構文エラーをチェックするために使用することができます。 これは、対話シェルでは無視されます。

-o オプション名

option-nameには、次のいずれかを指定できます。

アレックスポート

-aと同じです

ブレースエクスプレス

-Bと同じです。

エマックス

emacs形式のコマンドライン編集インタフェースを使用します。 これは、シェルが--no editingオプションで起動されていない限り、シェルが対話型の場合にデフォルトで有効になります。

間違った

-eと同じです。

ハサミ

-hと同じです。

ヒストグスパンド

-Hと同じです。

歴史

上記のヒストリで説明したように、コマンド履歴を有効にします。このオプションは、対話型シェルではデフォルトでオンになっています。

無視する

その効果は、シェルコマンド `` IGNOREEOF = 10 ''が実行されたかのようになります(上記シェル変数を参照)。

キーワード

-kと同じです。

モニター

-mと同じです。

ノークラバー

-Cと同じです。

noexec

-nと同じです。

ノグロブ

-fと同じです。 nolog現在無視されています。

通知する

-bと同じです。

名詞セット

-uと同じです。

onecmd

-tと同じです。

物理的

-Pと同じです。

posix

デフォルト操作がPOSIX 1003.2標準と異なる(POSIX モードbashの動作を変更してください

特権

-pと同じです。

詳細

-vと同じです。

vi

viスタイルのコマンドライン編集インターフェイスを使用します。

xtrace

-xと同じです。

option-nameを指定しないで-oを指定すると、現在のオプションの値が表示されます。 option-nameを指定せずに+ oを指定すると、現在のオプション設定を再作成する一連のsetコマンドが標準出力に表示されます。

-p

特権モードをオンにします。 このモードでは、 $ ENVおよび$ BASH_ENVファイルは処理されず、シェル関数は環境から継承されず、 SHELLOPTS変数は環境内に表示される場合は無視されます。 有効なユーザー(グループ)IDが実ユーザー(グループ)IDと等しくなく、シェルが起動され、 -pオプションが指定されていない場合、これらのアクションが実行され、実効ユーザーIDは実ユーザーIDに設定されます。 起動時に-pオプションを指定すると、実効ユーザーIDはリセットされません。 このオプションをオフにすると、有効なユーザーIDとグループIDが実際のユーザーIDとグループIDに設定されます。

-t

1つのコマンドを読み込んで実行した後に終了します。

-u

パラメータ拡張を実行するときに、未設定の変数をエラーとして処理します。 設定されていない変数に対して拡張を試みると、シェルはエラーメッセージを出力し、対話型でない場合は、ゼロ以外の状態で終了します。

-v

シェルの入力行を読み込みながら出力します。

-バツ

単純なコマンドを展開した後、 PS4の展開された値を表示し、その後にコマンドと展開された引数を表示します。

-B

シェルはブレース拡張を行います(上記のブレース拡張を参照してください)。 これはデフォルトでオンになっています。

-C

設定されている場合、 bashは既存のファイルを>>&および<>リダイレクション演算子で上書きしません。 これは、リダイレクション演算子> |を使用して出力ファイルを作成するときにオーバーライドされる可能性があります >の代わりに。

-H

有効にする スタイルの履歴の置換。 このオプションは、シェルが対話型の場合にはデフォルトでオンになっています。

-P

設定されている場合、現在の作業ディレクトリを変更するcdのようなコマンドを実行すると、シェルはシンボリックリンクをたどりません。 代わりに物理ディレクトリ構造を使用します。 デフォルトでは、現在のディレクトリを変更するコマンドを実行するときに、 bashはディレクトリの論理的な連鎖に従います。

-

このオプションの後に引き数がない場合、位置パラメーターは設定解除されます。 それ以外の場合、位置パラメータはarg - sで始まっていてもargsに設定されます。

-

オプションの終わりを知らせ、残りのすべての引数を位置パラメータに代入させます。 -xオプションと-vオプションはオフになっています。 argがない場合、位置パラメータは変更されません。

特に指定がない限り、オプションはデフォルトでオフになっています。 +よりも+を使用すると、これらのオプションがオフになります。 オプションは、シェルの呼び出しの引数として指定することもできます。 現在のオプションのセットは$ - にあります。 無効なオプションに遭遇しない限り、戻り状況は常に真です。

シフト [ n ]

n +1 ...からの位置パラメータは$ 1に リネームされます。 $#から$# - n +1までの数で表されるパラメータは設定されていません。 n$#以下の負でない数値でなければなりません。 nが0の場合、パラメータは変更されません。 nが与えられなければ、それは1と仮定される.n$#より大きい場合、位置パラメータは変更されない。 n$#より大きい場合、または0より小さい場合、戻りステータスはゼロより大きくなります。 そうでなければ0。

shopt [ -pqsu ] [ -o ] [ optname ...]

オプションのシェル動作を制御する変数の値を切り替えます。 オプションを指定しない場合、または-pオプションを指定すると、設定可能なすべてのオプションのリストが表示され、設定されているかどうかが示されます。 -pオプションを指定すると、出力が入力として再利用される形式で表示されます。 他のオプションには次の意味があります。

-s

optnameを有効(設定)します。

-u

optnameを無効にする(設定を解除する)。

-q

通常の出力を抑制します(クワイエットモード)。 戻り値のステータスは、 optnameが設定されているかどうかを示します。 複数のoptname引数が-qで指定されている場合、すべてのoptnamesが有効な場合、戻り値のステータスは0になります。 それ以外の場合はゼロでない。

-o

optnameの値を、組み込みセットに対する-oオプションで定義された値に制限します。

optname引数なしで-sまたは-uのいずれかを使用すると、表示はそれぞれ設定または設定解除されているオプションに限定されます。 特記のない限り、 shoptオプションはデフォルトでは無効になっています(設定されていません)。

オプションをリストするときの戻り状況は、すべてのoptnamesが有効な場合は0、それ以外の場合は0ではありません。 オプションを設定または設定解除するときは、 optnameが有効なシェルオプションでない限り、戻り値のステータスはゼロです。

shoptオプションのリストは次のとおりです:

cdable_vars

設定されている場合、ディレクトリではないcd組み込みコマンドの引数は、値が変更先のディレクトリである変数の名前とみなされます。

cdspell

これを設定すると、 cdコマンドでのディレクトリコンポーネントのスペルの小さなエラーが修正されます。 チェックされたエラーは、転置文字、欠落文字、1文字が多すぎます。 修正が見つかると、修正されたファイル名が印刷され、コマンドが続行されます。 このオプションは、対話シェルでのみ使用されます。

チェックハッシュ

設定されている場合、 bashはハッシュテーブル内のコマンドが実行される前に存在するかどうかをチェックします。 ハッシュされたコマンドが存在しなくなると、通常のパス検索が実行されます。

チェックウィンズ

設定すると、 bashは各コマンドの後にウィンドウサイズをチェックし、必要に応じてLINESCOLUMNSの値を更新します。

cmdhist

設定されている場合、 bashは複数行のコマンドのすべての行を同じ履歴エントリに保存しようとします。 これにより、複数行のコマンドを簡単に再編集することができます。

ドットグローブ

設定されている場合、 bashには `。 'で始まるファイル名が含まれます。 パス名展開の結果に含まれます。

執行猶予

設定されている場合、非組み込みシェルは、 exec組み込みコマンドの引数として指定されたファイルを実行できない場合、終了しません。 execが失敗した場合、対話型シェルは終了しません。

expand_aliases

設定されている場合、エイリアスは上で説明したようにエイリアスで展開されます。 このオプションは、対話型シェルではデフォルトで有効になっています。

extglob

これが設定されている場合、 パス名拡張の上で説明した拡張パターンマッチング機能が有効になります。

histappend

設定されている場合、ヒストリリストは、ファイルを上書きするのではなく、シェルが終了したときにHISTFILE変数の値で指定されたファイルに追加されます。

ヒストリーエディット

設定され、 readlineが使用されている場合、ユーザーは失敗した履歴置換を再編集する機会が与えられます。

ヒットベリファイ

設定され、 readlineが使用されている場合、履歴置換の結果は直ちにシェルパーサーに渡されません。 代わりに、生成された行はreadline編集バッファにロードされ、さらに修正することができます。

ホストコンプリート

設定され、 readlineが使用されている場合、 @を含む単語が完成すると、 bashはホスト名の補完を試みます(上記のREADLINEの補完を参照してください)。 これはデフォルトで有効になっています。

ホポネキシット

設定されている場合、対話型ログインシェルが終了すると、 bashはすべてのジョブにSIGHUPを送ります。

interactive_comments

設定されている場合は、 #で始まる単語がその単語を引き起こし、その行の残りの文字はすべて対話シェルで無視されます(上記のコメントを参照)。 このオプションは、デフォルトで有効になっています。

リトリスト

設定されていてcmdhistオプションが有効になっている場合、可能な場合はセミコロン区切り記号を使用するのではなく、改行が埋め込まれた複数行コマンドが履歴に保存されます。

login_shell

シェルは、ログインシェルとして起動されている場合はこのオプションを設定します(上記のINVOCATIONを参照)。 値は変更できません。

mailwarn

設定されていて、最後にチェックされてからbashがメールをチェックしているファイルにアクセスした場合、 ``メールファイルのメールが読み込まれました ''というメッセージが表示されます。

no_empty_cmd_completion

設定され、 readlineが使用されている場合、空行で補完が試行されると、 bashは補完候補をPATHで検索しようとしません。

nocaseglob

設定されている場合、 bashパス名展開時に大文字小文字を区別しないでファイル名を照合します(上記の「 パス名展開」を参照)。

nullグロブ

これが設定されていると、 bashはファイルにマッチしないパターン(上記のPathname Expansionを参照)を自分自身ではなくヌル文字列に展開できるようにします。

プログラム

設定されている場合、 プログラマブル補完機能(上記のプログラマブル補完を参照)が有効になります。 このオプションは、デフォルトで有効になっています。

プロンプトバー

設定されている場合、プロンプト文字列は、