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

Ad


OnWorksファビコン

bash-static - クラウドでオンライン

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

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

プログラム:

NAME


bash-GNU Bourne-Again SHell

SYNOPSIS


bash [オプション][command_string| ファイル]

COPYRIGHT


Bashは、Free Software Foundation、Inc.の著作権(C)1989-2013です。

DESCRIPTION


Bash あります sh-から読み取ったコマンドを実行する互換性のあるコマンド言語インタプリタ
標準入力またはファイルから。 Bash また、からの便利な機能が組み込まれています コー​​ン & C
シェル(kshの & CSH).

Bash のシェルおよびユーティリティ部分の適合実装であることが意図されています
IEEE POSIX仕様(IEEE標準1003.1)。 Bash POSIXになるように構成できます-
デフォルトで準拠。

OPTIONS


の説明に記載されているすべてのXNUMX文字のシェルオプション セッションに
組み込みコマンドは、シェルが呼び出されたときにオプションとして使用できます。 加えて、 bash
呼び出されると、次のオプションを解釈します。

-c Status -c オプションが存在する場合、コマンドは最初の非オプションから読み取られます
引数 コマンド文字列。 後に引数がある場合 コマンド文字列、彼ら
で始まる位置パラメータに割り当てられます $0.
-i Status -i オプションが存在し、シェルは 相互作用的.
-l アカウントを作成し bash ログインシェルとして呼び出されたかのように動作します(を参照) 呼び出し 下)。
-r Status -r オプションが存在する場合、シェルは次のようになります 制限されました (参照してください 制限付き SHELL
下)。
-s Status -s オプションが存在する場合、またはオプション処理後に引数が残っていない場合は、
次に、コマンドが標準入力から読み取られます。 このオプションにより、
インタラクティブシェルを呼び出すときに設定される位置パラメータ。
-D 後に続くすべての二重引用符で囲まれた文字列のリスト $ 標準に印刷されています
出力。 これらは、次の場合に言語翻訳の対象となる文字列です。
現在のロケールは C or POSIX。 これは、 -n オプション; コマンドはありません
実行されます。
[-+] O [ショップオプション]
ショップオプション によって受け入れられるシェルオプションのXNUMXつです 買い物 ビルトイン(を参照)
SHELL ビルティン コマンド 下)。 もしも ショップオプション 存在します、 -O の値を設定します
そのオプション; +O 設定を解除します。 もしも ショップオプション 提供されていない、名前と
によって受け入れられるシェルオプションの値 買い物 標準に印刷されています
出力。 呼び出しオプションが +O、出力は次の形式で表示されます
入力として再利用できます。
-- A -- オプションの終了を通知し、それ以降のオプション処理を無効にします。 どれでも
後の引数 -- ファイル名と引数として扱われます。 の議論 -
に相当します --.

Bash また、いくつかの複数文字のオプションを解釈します。 これらのオプションはに表示される必要があります
認識される単一文字オプションの前のコマンドライン。

- デバッガ
シェルが開始する前にデバッガープロファイルが実行されるように調整します。 オンにします
拡張デバッグモード(の説明を参照してください 拡張デバッグ オプションを 買い物
以下に組み込まれています)。
--dump-po-文字列
に相当 -D、ただし、出力はGNUにあります gettextを po (ポータブルオブジェクト)ファイル
形式でダウンロードすることができます。
--ダンプ文字列
に相当 -D.
- 助けて 標準出力に使用法メッセージを表示し、正常に終了します。
--init-file file
--rcfile file
からコマンドを実行します file システム全体の初期化ファイルの代わりに
/etc/bash.bashrc および標準の個人用初期化ファイル 〜/ .bashrc もし
シェルはインタラクティブです(を参照) 呼び出し 下)。

- ログインする
に相当 -l.

--編集なし
GNUを使用しないでください 読み込まれた行 シェルが
インタラクティブ。

--プロファイルなし
システム全体のスタートアップファイルも読み取らないでください / etc / profile または個人のいずれか
初期化ファイル 〜/ .bash_profile, 〜/ .bash_loginまたは 〜/ .profile。 デフォルトでは、
bash ログインシェルとして呼び出されたときにこれらのファイルを読み取ります(を参照) 呼び出し 下)。

--norc システム全体の初期化ファイルを読み取って実行しないでください /etc/bash.bashrc &
個人用初期化ファイル 〜/ .bashrc シェルがインタラクティブである場合。 これ
シェルが次のように呼び出された場合、オプションはデフォルトでオンになっています sh.

--posix
の動作を変更します bash デフォルトの操作がPOSIXと異なる場合
標準に一致する標準(POSIX モード)。 見る 関連項目 ALSO 以下を参照してください
posixモードがbashの動作にどのように影響するかを詳しく説明したドキュメント。

- 制限付き
シェルが制限されます(を参照) 制限付き SHELL 下)。

-詳細
に相当 -v.

- バージョン
このインスタンスのバージョン情報を表示する bash 標準出力で終了します
成功しました。

議論


オプション処理後に引数が残り、どちらも -c-s オプションはされています
指定すると、最初の引数はシェルを含むファイルの名前であると見なされます
コマンド。 もしも bash この方法で呼び出され、 $0 ファイルの名前に設定され、
位置パラメータは残りの引数に設定されます。 Bash 読み取りと実行
このファイルからコマンドを実行し、終了します。 Bashの終了ステータスは、最後の終了ステータスです。
スクリプトで実行されるコマンド。 コマンドが実行されない場合、終了ステータスは0です。
最初に現在のディレクトリでファイルを開こうとします。ファイルが見つからない場合は、
次に、シェルは次のディレクトリを検索します パス スクリプト用。

呼び出し


A ログイン shell 引数ゼロの最初の文字が -、またはで始まるもの
  - ログインする オプションを選択します。

An 相互作用的 シェルは、オプション以外の引数なしで開始されたものであり、 -c オプション
その標準入力とエラーは両方とも端子に接続されています(
イサティ(3))、または -i オプションを選択します。 PS1 設定され、 $- 含ま i if bash is
インタラクティブで、シェルスクリプトまたはスタートアップファイルがこの状態をテストできるようにします。

次の段落では、その方法について説明します bash スタートアップファイルを実行します。 のいずれかが
ファイルは存在しますが、読み取ることができません。 bash エラーを報告します。 チルダはファイル名で展開されます
以下に説明するように チルダ 拡張 セクションに 拡張 のセクションから無料でダウンロードできます。

日時 bash インタラクティブログインシェルとして、または非インタラクティブシェルとして呼び出されます。
- ログインする オプションの場合、最初にファイルからコマンドを読み取って実行します / etc / profile、もしその
ファイルが存在しています。 そのファイルを読んだ後、それは探します 〜/ .bash_profile, 〜/ .bash_login,
〜/ .profile、この順序で、最初に存在するコマンドからコマンドを読み取って実行します
読み取り可能です。 The --プロファイルなし シェルが抑制を開始するときにオプションを使用できます
この動作。

ログインシェルが終了すると、 bash ファイルからコマンドを読み取って実行します 〜/ .bash_logout,
存在する場合。

ログインシェルではない対話型シェルが起動すると、 bash 読み取りと実行
からのコマンド /etc/bash.bashrc & 〜/ .bashrc、これらのファイルが存在する場合。 これは抑制される可能性があります
使用して、 --norc オプション。 ザ· --rcfile file オプションは強制します bash 読んで実行する
からのコマンド file /etc/bash.bashrc & 〜/ .bashrc.

日時 bash シェルスクリプトを実行するために、非対話的に開始されます。たとえば、
変数 BASH_ENV 環境内で、そこに表示された場合はその値を拡張し、
読み取りおよび実行するファイルの名前としての展開された値。 Bash のように動作します
次のコマンドが実行されました:
if [-n "$ BASH_ENV"]; それから 。 "$ BASH_ENV"; fi
しかし、の値 パス 変数はファイル名の検索には使用されません。

If bash 名前で呼び出されます sh、履歴の起動動作を模倣しようとします
のバージョン sh POSIX標準にも準拠しながら、可能な限り厳密に。
対話型ログインシェル、または非対話型シェルとして呼び出された場合 - ログインする
オプションの場合、最初にコマンドの読み取りと実行を試みます。 / etc / profile & 〜/ .profile,
その順序で。 The --プロファイルなし オプションを使用して、この動作を禁止できます。 呼び出されたとき
名前の付いたインタラクティブシェルとして sh, bash 変数を探します ENV、その拡張
定義されている場合は値。展開された値を読み取るファイルの名前として使用し、
実行する。 シェルがとして呼び出されたので sh からのコマンドの読み取りと実行を試みません
その他の起動ファイル、 --rcfile オプションは効果がありません。 非対話型シェル
名前で呼び出されます sh 他の起動ファイルを読み取ろうとはしません。 呼び出されたとき
as sh, bash 入る POSIX スタートアップファイルが読み取られた後のモード。

日時 bash で始まる POSIX モード、と同様に --posix コマンドラインオプション、それは続きます
スタートアップファイルのPOSIX標準。 このモードでは、インタラクティブシェルが拡張します ENV
変数とコマンドは、名前が展開されたファイルから読み取られて実行されます
価値。 他のスタートアップファイルは読み込まれません。

Bash 標準入力を接続して実行されているかどうかを判断しようとします
リモートシェルデーモンによって実行される場合のネットワーク接続、通常 rshd、または
セキュアシェルデーモン sshd。 場合 bash この方法で実行されていると判断すると、次のようになります。
からコマンドを実行します 〜/ .bashrc & 〜/ .bashrc、これらのファイルが存在し、読み取り可能である場合。
として呼び出された場合、これは行われません。 shを選択します。 --norc オプションを使用してこれを禁止できます
行動、および --rcfile オプションを使用して、別のファイルを強制的に読み取ることができますが、
どちらもありません rshd また sshd 通常、これらのオプションを使用してシェルを呼び出すか、
指定。

シェルが実際のユーザーと等しくない有効なユーザー(グループ)IDで開始された場合
(グループ)id、および -p オプションが提供されていない、スタートアップファイルが読み取られていない、シェル関数
環境から継承されていない、 シェロプト, バショップ, CDPATH, グロビグノーレ
変数が環境に表示されている場合、それらは無視され、有効なユーザーIDは次のようになります。
実際のユーザーIDに設定します。 の場合 -p オプションは、起動時の動作である呼び出し時に提供されます
は同じですが、有効なユーザーIDはリセットされません。

DEFINITIONS


以下の定義は、このドキュメントの残りの部分で使用されます。
ブランク スペースまたはタブ。
単語 シェルによって単一のユニットと見なされる文字のシーケンス。 別名
トークン.
A 単語 英数字とアンダースコアのみで構成され、
英字または下線付き。 とも呼ばれます 識別子.
メタキャラクター
引用符で囲まれていない場合に単語を区切る文字。 次のいずれか:
| & ; ( ) < > スペース タブ
コントロール オペレータ
A トークン 制御機能を実行します。 これは、次の記号のXNUMXつです。
|| & && ; ;; ( ) | |&

予約済み WORDS


予約済み 言葉 シェルにとって特別な意味を持つ言葉です。 次の言葉
引用符で囲まれていない場合、および単純なコマンドの最初の単語のいずれかで予約済みとして認識されます
(参照してください SHELL 文法 以下)またはのXNUMX番目の単語 場合 or for コマンド:

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

SHELL 文法


簡単な拡張で コマンド
A シンプルな command オプションの変数割り当てのシーケンスであり、その後に ブランク-
単語とリダイレクトを区切り、 コントロール オペレータ。 最初の言葉
実行するコマンドを指定し、引数ゼロとして渡されます。 残りの言葉
呼び出されたコマンドに引数として渡されます。

の戻り値 シンプルな command 終了ステータス、または128+n コマンドが
信号で終了 n.

パイプライン
A パイプライン 制御演算子のXNUMXつによって分離されたXNUMXつ以上のコマンドのシーケンスです
| or |&。 パイプラインの形式は次のとおりです。

[時間 [-p]] [! ] command [[||&] コマンド2 ...]

の標準出力 command パイプを介しての標準入力に接続されています コマンド2.
この接続は、コマンドで指定されたリダイレクトの前に実行されます(を参照)。
リダイレクション 下)。 もしも |& 使用されている、 command標準に加えて、の標準エラー
出力は、に接続されています コマンド2パイプを介したの標準入力。 略記です
2>&1 |。 標準エラーの標準出力へのこの暗黙のリダイレクトは次のとおりです。
コマンドで指定されたリダイレクトの後に実行されます。

パイプラインの戻りステータスは、最後のコマンドの終了ステータスです。
パイプの失敗 オプションが有効になっています。 もしも パイプの失敗 が有効になっている場合、パイプラインの戻りステータスは
ゼロ以外のステータスで終了する最後の(右端の)コマンドの値、またはすべての場合はゼロ
コマンドは正常に終了します。 予約語の場合 ! パイプラインに先行し、終了ステータス
そのパイプラインのは、上記のように終了ステータスの論理否定です。 シェル
パイプライン内のすべてのコマンドが終了するのを待ってから、値を返します。

Status 時間 予約語がパイプラインの前にあり、経過時間とユーザー時間およびシステム時間
その実行によって消費されたものは、パイプラインが終了したときに報告されます。 The -p オプション
出力形式をPOSIXで指定された形式に変更します。 シェルが入っているとき POSIX モード、それ
認識されません 時間 次のトークンが`-'で始まる場合は、予約語として。 The
タイムフォーマット 変数は、タイミングを指定するフォーマット文字列に設定できます
情報を表示する必要があります。 の説明を参照してください タイムフォーマットシェル(Shell) Variables
を参照してください。

シェルが入っているとき POSIX モード, 時間 改行が続く場合があります。 この場合、
shellは、シェルとその子によって消費されたユーザーとシステムの合計時間を表示します。 The
タイムフォーマット 変数は、時間情報の形式を指定するために使用できます。

パイプラインの各コマンドは、個別のプロセスとして(つまり、サブシェルで)実行されます。

リスト
A リスト は、オペレーターのXNUMXつによって分離されたXNUMXつ以上のパイプラインのシーケンスです。 ;, &, &&,
or ||、およびオプションで次のいずれかで終了します ;, &または .

これらのリスト演算子のうち、 && & || 優先順位が同じで、その後に ; & &、持っている
同等の優先順位。

XNUMXつ以上の改行のシーケンスが リスト 区切り文字のセミコロンの代わりに
コマンド。

コマンドが制御オペレーターによって終了された場合 &、シェルはでコマンドを実行します
  背景 サブシェルで。 シェルはコマンドが終了するのを待たず、
戻りステータスは0です。コマンドは ; 順次実行されます。 シェルは待機します
各コマンドを順番に終了します。 戻りステータスは、最後の終了ステータスです。
コマンドが実行されました。

ANDおよびORリストは、 && & || コントロール
それぞれ演算子。 ANDおよびORリストは、左結合性で実行されます。 AND
リストの形式は

コマンド1 && コマンド2

コマンド2 次の場合にのみ実行されます。 コマンド1 ゼロの終了ステータスを返します。

ORリストの形式は

コマンド1 || コマンド2

コマンド2 次の場合にのみ実行されます コマンド1 ゼロ以外の終了ステータスを返します。 リターン
ANDおよびORリストの状況は、リストで最後に実行されたコマンドの終了状況です。

コマンド
A command 次のいずれかです。 ほとんどの場合、 リスト コマンドの
説明は、コマンドの残りの部分からXNUMXつ以上の改行で区切ることができます。
セミコロンの代わりに改行が続きます。

(リスト) リスト サブシェル環境で実行されます(を参照) COMMAND 実行 ENVIRONMENT
下)。 シェルに影響を与える変数の割り当てと組み込みコマンド
コマンドの完了後、環境は有効なままになりません。 返品状況
の終了ステータスです リスト.

{ リスト; }
リスト 現在のシェル環境で実行されるだけです。 リスト 終了する必要があります
改行またはセミコロン付き。 これは、 グループヘッド command。 返品状況
の終了ステータスです リスト。 メタ文字とは異なり、注意してください ( & ), { & }
  予約済み 言葉 予約語が許可されている場合に発生する必要があります
認識された。 それらは単語の区切りを引き起こさないので、それらはから分離されなければなりません リスト
空白または別のシェルメタ文字による。

((表現))
  表現 以下に説明するルールに従って評価されます 算術
評価。 式の値がゼロ以外の場合、戻りステータスは0です。
それ以外の場合、戻りステータスは1です。これはまったく同じです。 "表現".

[[ 表現 ]]
条件式の評価に応じて、0または1のステータスを返します
表現。 式は、以下で説明するプライマリで構成されます。
条件付き 表現。 ワード分割とパス名拡張は実行されません
の間の言葉に [[ & ]]; チルダ拡張、パラメータおよび変数
拡張、算術拡張、コマンド置換、プロセス置換、および
見積もりの​​削除が実行されます。 などの条件演算子 -f 引用符を外す必要があります
プライマリとして認識されます。

と一緒に使用する場合 [[ < & > 演算子は、現在のを使用して辞書式順序でソートします
ローカル。

の説明を参照してください test ビルトインコマンド(以下のシェルビルトインコマンドのセクション)
パラメータの処理(つまり、欠落しているパラメータ)。

== & != 演算子が使用され、演算子の右側の文字列は
パターンを検討し、以下に説明するルールに従って一致させた パターン
マッチング、まるで 外部グロブ シェルオプションが有効になりました。 The = 演算子はと同等です
==。 シェルオプションの場合 ノーケースマッチ が有効になっている場合、一致は関係なく実行されます
英字の場合。 文字列が((==)または
一致していません (!=)パターン、それ以外の場合は1。 パターンの任意の部分を引用できます
引用符で囲まれた部分を文字列として強制的に一致させます。

追加の二項演算子、 =~、が利用可能で、優先順位は == & !=.
使用する場合、演算子の右側の文字列は拡張正規と見なされます
式とそれに応じて一致(のように 正規表現(3))。 文字列の場合、戻り値は0です。
パターンに一致し、それ以外の場合は1に一致します。 正規表現が構文的にある場合
正しくない場合、条件式の戻り値は2です。シェルオプションの場合
ノーケースマッチ が有効になっている場合、アルファベットの場合に関係なく一致が実行されます
文字。 パターンの任意の部分を引用して、引用部分を強制的にすることができます
文字列として一致します。 正規表現の括弧式は処理する必要があります
通常の引用文字は角かっこで囲まれた意味を失うため、注意が必要です。 の場合
パターンはシェル変数に格納され、変数の拡張を引用すると全体が強制されます
文字列として照合されるパターン。 括弧で囲まれた部分式と一致する部分文字列
正規表現内は配列変数に保存されます BASH_REMATCH。 要素
of BASH_REMATCH インデックス0は、通常の文字列全体に一致する文字列の部分です。
表現。 の要素 BASH_REMATCH インデックス付き n 文字列の一部です
に一致する n括弧で囲まれた部分式。

式は、次の演算子を使用して組み合わせることができます。降順でリストされています。
優先順位:

( 表現 )
の値を返します 表現。 これは、通常をオーバーライドするために使用できます
演算子の優先順位。
! 表現
Trueの場合 表現 は偽です。
式1 && 式2
両方の場合は真 式1 & 式2 本当です。
式1 || 式2
どちらかが真 式1 or 式2 本当です。

  && & || 演算子は評価しません 式2 の値が 式1 is
条件式全体の戻り値を決定するのに十分です。

for [[ in [ 単語 ... ]]; ] do リスト ; 行われ
次の単語のリスト in が展開され、アイテムのリストが生成されます。 ザ
変数 このリストの各要素に順番に設定され、 リスト 実行されます
毎回。 の場合 in 単語 省略された場合、 for コマンドが実行されます リスト それぞれにXNUMX回
設定されている位置パラメータ(を参照) パラメーター 下)。 返品ステータスは
最後に実行されたコマンドの終了ステータス。 アイテムの拡張の場合
フォロー中 in 結果は空のリストになり、コマンドは実行されず、
ステータスは0です。

for (( 式1 ; 式2 ; 式3 )); do リスト ; 行われ
まず、算術式 式1 ルールに従って評価されます
以下に説明します 算術 評価。 算術式 式2 is
次に、ゼロと評価されるまで繰り返し評価されます。 毎回 式2 評価する
ゼロ以外の値、 リスト が実行され、算術式が実行されます 式3 is
評価されました。 式を省略すると、1と評価されたかのように動作します。
戻り値は、の最後のコマンドの終了ステータスです。 リスト 実行される、または
式のいずれかが無効な場合はfalse。

select [ in 単語 ]; do リスト ; 行われ
次の単語のリスト in が展開され、アイテムのリストが生成されます。 のセット
展開された単語は標準エラーに出力され、それぞれの前に数字が付きます。 の場合
in 単語 省略した場合、位置パラメータが出力されます(を参照)。 パラメーター 下)。
  PS3 次に、プロンプトが表示され、標準入力から行が読み取られます。 の場合
行は、表示された単語のXNUMXつに対応する番号で構成され、次に
の値 その単語に設定されています。 行が空の場合、単語とプロンプトは次のようになります。
再び表示されます。 EOFが読み取られると、コマンドは完了します。 読み取ったその他の値
原因 nullに設定されます。 読み取った行は変数に保存されます 応答を選択します。
リスト 各選択の後、 破る コマンドが実行されます。 出口
の状態 select で実行された最後のコマンドの終了ステータスです リスト、またはゼロ
コマンドが実行されなかった場合。

場合 単語 in [[(] パターン [ | パターン ] ...) リスト ;; ]..。 ESAC
A 場合 コマンドは最初に展開されます 単語、およびそれぞれに対してそれを一致させようとします パターン in
次に、パス名の展開と同じ一致ルールを使用します(を参照)。 パス名
拡張 未満)。 NS 単語 チルダ拡張、パラメータ、および
変数展開、算術置換、コマンド置換、プロセス
置換と引用符の削除。 各 パターン チルダを使用して検査を拡張
拡張、パラメーターおよび変数の拡張、算術置換、コマンド
置換、およびプロセス置換。 シェルオプションの場合 ノーケースマッチ is
有効にすると、アルファベットの場合に関係なく一致が実行されます
文字。 一致するものが見つかった場合、対応する リスト 実行されます。 の場合 ;;
演算子が使用されている場合、最初のパターンの後に後続の一致は試行されません
マッチ。 使用する ;& 代わりに ;; 実行を続行します リスト
次のパターンのセットに関連付けられています。 使用する ;;& 代わりに ;; を引き起こす
ステートメント内の次のパターンリストがある場合はそれをテストし、
関連する リスト 成功した試合で。 パターンがない場合、終了ステータスはゼロです
一致します。 それ以外の場合は、で実行された最後のコマンドの終了ステータスです。 リスト.

if リスト; その後 リスト; [[ elif リスト; その後 リスト; ] ... [ ほかに リスト; 】 fi
  if リスト 実行されます。 終了ステータスがゼロの場合、 その後 リスト 実行されます。
それ以外の場合は、それぞれ elif リスト が順番に実行され、その終了ステータスがゼロの場合、
対応する その後 リスト が実行され、コマンドが完了します。 それ以外の場合は、 ほかに
リスト 存在する場合は実行されます。 終了ステータスは、最後の終了ステータスです。
コマンドが実行されました。真の条件がテストされていない場合はゼロです。

while リスト-1; do リスト-2; 行われ
まで リスト-1; do リスト-2; 行われ
  while コマンドはリストを継続的に実行します リスト-2 最後のコマンドである限り
リスト内 リスト-1 ゼロの終了ステータスを返します。 The まで コマンドは同じです
while テストが否定されることを除いて、コマンド。 リスト-2 実行される限り
の最後のコマンドとして リスト-1 ゼロ以外の終了ステータスを返します。 の終了ステータス
  while & まで コマンドは、で実行された最後のコマンドの終了ステータスです。
リスト-2、または何も実行されなかった場合はゼロ。

コプロセス
A コプロセス の前にシェルコマンドがあります コプロク 予約語。 コプロセスは
コマンドがで終了したかのように、サブシェルで非同期に実行されます &
実行中のシェルと
コプロセス。

コプロセスの形式は次のとおりです。

コプロク [NAME] command [リダイレクト]

これにより、という名前のコプロセスが作成されます NAME。 場合 NAME が指定されていない場合、デフォルト名は コプロック.
NAME 次の場合は供給しないでください command   シンプルな command (上記を参照); そうでなければ、それは
単純なコマンドの最初の単語として解釈されます。 コプロセスが実行されると、
シェルは配列変数を作成します(を参照) 配列 以下)名前付き NAME のコンテキストで
実行中のシェル。 の標準出力 command パイプを介してファイルに接続されています
実行中のシェルの記述子、およびそのファイル記述子はに割り当てられます NAME[0]。 NS
の標準入力 command 実行中のファイル記述子にパイプを介して接続されています
シェル、およびそのファイル記述子はに割り当てられます NAME[1]。 このパイプは前に確立されます
コマンドで指定されたリダイレクト(を参照) リダイレクション 下)。 ファイル記述子
標準ワードを使用したシェルコマンドおよびリダイレクトへの引数として利用できます
拡張。 ファイル記述子はサブシェルでは使用できません。 のプロセスID
コプロセスを実行するために生成されたシェルは、変数の値として使用できます NAME_PID。
  wait 組み込みコマンドを使用して、コプロセスが終了するのを待つことができます。

コプロセスは非同期コマンドとして作成されるため、 コプロク 常にコマンド
成功を返します。 コプロセスの戻りステータスは、の終了ステータスです。 command.

シェル(Shell) 演算 定義
シェル関数は、単純なコマンドのように呼び出され、複合を実行するオブジェクトです。
位置パラメータの新しいセットを使用したコマンド。 シェル関数は次のように宣言されています。

() 複合コマンド [出力先変更]
function [()] 複合コマンド [出力先変更]
これは、という名前の関数を定義します 。 予約語 function オプションです。 もしも
  function 予約語が指定され、括弧はオプションです。 The ボディ of
関数は複合コマンドです 複合コマンド (参照してください コマンド
その上)。 そのコマンドは通常、 リスト {と}の間のコマンドの
下にリストされているコマンド コマンド 上記。 複合コマンド 実行されます
たびに 単純なコマンドの名前として指定されます。 にいるとき POSIX モード,
POSIXのXNUMXつの名前ではない可能性があります 特別 ビルトイン。 リダイレクト
(参照してください リダイレクション 以下)関数が定義されたときに指定された
関数が実行されます。 関数定義の終了ステータスは、
構文エラーが発生するか、同じ名前の読み取り専用関数がすでに存在します。 いつ
実行されると、関数の終了ステータスは最後のコマンドの終了ステータスになります
体内で実行されます。 (見る 関数 以下。)

コメント


非対話型シェル、または対話型シェルで Interactive_comments
オプションを 買い物 ビルトインが有効になっています(を参照) SHELL ビルティン コマンド 以下)、一言
ではじまる # その単語とその行の残りのすべての文字が無視されます。
のないインタラクティブシェル Interactive_comments オプションを有効にすると、
コメント。 The Interactive_comments インタラクティブシェルでは、オプションはデフォルトでオンになっています。

見積り


引用 特定の文字や単語の特別な意味をシェルから削除するために使用されます。
引用符を使用して、特殊文字の特殊処理を無効にし、防止することができます
予約語がそのように認識されないようにし、パラメータの拡張を防ぐため。

それぞれ メタキャラクター 上記の下にリストされています DEFINITIONS シェルに特別な意味があります
それ自体を表す場合は、引用符で囲む必要があります。

コマンド履歴拡張機能を使用している場合(を参照) 歴史 拡張
以下)、 history 拡大 キャラクター、通常 !、履歴を防ぐために引用する必要があります
拡張。

XNUMXつの引用メカニズムがあります: 脱出 文字、一重引用符、および二重
引用。

引用符で囲まれていない円記号(\)である 脱出 文字。 のリテラル値を保持します
次の文字を除いて、次の文字。 もし \ペア
が表示され、円記号自体は引用されていません。 \線として扱われます
継続(つまり、入力ストリームから削除され、事実上無視されます)。

文字を一重引用符で囲むと、内の各文字のリテラル値が保持されます
引用符。 一重引用符の前に
バックスラッシュ。

文字を二重引用符で囲むと、内のすべての文字のリテラル値が保持されます
引用符を除いて $, `, \、および、履歴拡張が有効になっている場合、 !を選択します。
文字 $ & ` 二重引用符で囲まれた特別な意味を保持します。 バックスラッシュ
次のいずれかの文字が続く場合にのみ、その特別な意味を保持します。 $, `,
", \または 。 二重引用符は、その前に二重引用符で囲むことができます
バックスラッシュ付き。 有効にすると、履歴の拡張は、 ! 現われる
二重引用符で囲まれた部分は、円記号を使用してエスケープされます。 前の円記号 ! ではありません
除去された。

特別なパラメータ * & @ 二重引用符で囲む場合は特別な意味があります(を参照) パラメーター
下)。

フォームの言葉 $'文字列'は特別に扱われます。 単語はに展開します 文字列、と
バックスラッシュエスケープ文字は、ANSIC標準で指定されているように置き換えられます。 バックスラッシュ
エスケープシーケンスが存在する場合は、次のようにデコードされます。
\a アラート(ベル)
\b バックスペース
\e
\E エスケープ文字
\f フォームフィード
\n 改行
\r キャリッジリターン
\t 水平タブ
\v 垂直タブ
\\ バックスラッシュ
\' 一重引用符
\" 二重引用符
\NNN 値がXNUMX進値であるXNUMXビット文字 NNN (XNUMX〜XNUMX
数字)
\xHH 値がXNUMX進値であるXNUMXビット文字 HH (一つか二つ
XNUMX進数)
\uはぁ 値が10646進値であるUnicode(ISO / IEC XNUMX)文字
はぁ (XNUMX〜XNUMX桁のXNUMX進数)
\Uフフフフフフ
値が10646進値であるUnicode(ISO / IEC XNUMX)文字
フフフフフフ (XNUMX〜XNUMX桁のXNUMX進数)
\cx コントロール-x 文字

展開された結果は、ドル記号が存在しなかったかのように一重引用符で囲まれます。

ドル記号が前に付いた二重引用符で囲まれた文字列($"文字列")は、文字列を次のようにします
現在のロケールに従って翻訳されます。 現在のロケールが C or POSIX
ドル記号は無視されます。 文字列が翻訳されて置き換えられた場合、置き換えは
二重引用符で囲まれています。

パラメーター


A パラメーター 値を格納するエンティティです。 それはすることができます 、数字、またはのXNUMXつ
以下にリストされている特殊文字 スペシャル 計測パラメータ。 A 変数 パラメータです
で示される 。 変数には そしてゼロ以上 属性。 属性は
を使用して割り当てられます 宣言する 組み込みコマンド(を参照) 宣言する 以下の SHELL ビルティン コマンド).

値が割り当てられている場合は、パラメータが設定されます。 null文字列は有効な値です。
変数が設定されると、それを使用することによってのみ設定を解除できます。 unset 組み込みコマンド(を参照) SHELL
ビルティン コマンド 下)。

A 変数 フォームのステートメントによって割り当てられる場合があります

=[]

If が指定されていない場合、変数にはnull文字列が割り当てられます。 全て チルダを受ける
拡張、パラメーターおよび変数の拡張、コマンド置換、算術拡張、
および見積もりの​​削除(を参照) 拡張 下)。 変数に 整数 属性セット、
その後 $((...))展開がそうでない場合でも、算術式として評価されます
使用済み(を参照) 算術 拡張 下)。 単語分割は実行されません。
の例外 「$ @」 以下で説明するように スペシャル 計測パラメータ。 パス名の展開は
実行されます。 代入ステートメントは、引数として表示される場合もあります。 alias, 宣言する,
タイプセット, export, 読み取り専用, ローカル 組み込みコマンド。 にいるとき POSIX モード、これらのビルトイン
XNUMXつ以上のインスタンスの後にコマンドに表示される場合があります command 組み込みおよび保持
これらの代入ステートメントのプロパティ。

割り当てステートメントがシェル変数に値を割り当てているコンテキストでは、
配列インデックス、+ =演算子を使用して、変数の前の変数に追加または追加できます
価値。 +=が変数に適用される場合 整数 属性が設定されました、
算術式として評価され、変数の現在の値に追加されます。
これも評価されます。 +=が複合を使用して配列変数に適用される場合
割り当て(を参照) 配列 以下)、変数の値は未設定ではありません(=を使用する場合のように)、
配列の最大値よりXNUMXつ大きい値から始めて、新しい値が配列に追加されます
インデックス(インデックス付き配列の場合)または連想配列の追加のキーと値のペアとして追加されます。
文字列値の変数に適用すると、 展開され、変数に追加されます
の値です。

変数に割り当てることができます 名前参照 を使用した属性 -n オプションを 宣言する or
ローカル 組み込みコマンド(の説明を参照) 宣言する & ローカル 以下)を作成するには
名前参照、または別の変数への参照。 これにより、変数を操作できます
間接的に。 nameref変数が参照または割り当てられるときはいつでも、操作は次のようになります。
nameref変数の値で指定された変数に対して実際に実行されます。 nameref
名前がとして渡される変数を参照するためにシェル関数内で一般的に使用されます
関数への引数。 たとえば、変数名がシェル関数に渡された場合
最初の引数として、実行中
宣言-nref= $ 1
関数内でnameref変数を作成します 参照 その値は渡された変数名です
最初の引数として。 への参照と割り当て 参照 参照として扱われ、
名前がとして渡された変数への割り当て $1。 の制御変数の場合 for
ループにはnameref属性があり、単語のリストはシェル変数のリストにすることができ、
ループが次の場合、リスト内の各単語に対して名前参照が確立されます。
実行されました。 配列変数に指定することはできません -n 属性。 ただし、nameref変数
配列変数と添え字付き配列変数を参照できます。 Namerefsは設定を解除できます
-n オプションを unset ビルトイン。 それ以外の場合、 unset 名前で実行されます
引数としてのnameref変数の場合、nameref変数によって参照される変数は
設定を解除します。

定位置 計測パラメータ
A ポジショナル パラメーター 単一以外のXNUMXつ以上の数字で示されるパラメータです
数字0。位置パラメータは、シェルの引数から割り当てられます。
呼び出され、を使用して再割り当てできます セッションに 組み込みコマンド。 位置パラメータは
代入ステートメントでは割り当てられません。 位置パラメータは一時的に
シェル関数の実行時に置き換えられます(を参照) 関数 下)。

XNUMX桁以上の位置パラメータを展開する場合は、次のようにする必要があります。
中括弧で囲まれています(を参照) 拡張 下)。

スペシャル 計測パラメータ
シェルはいくつかのパラメータを特別に扱います。 これらのパラメータは参照のみ可能です。
それらへの割り当ては許可されていません。
* XNUMXつから開始して位置パラメータに展開します。 拡張がない場合
二重引用符で囲むと、各定位置パラメーターは個別の単語に展開されます。 の
それが実行されるコンテキストでは、それらの単語はさらに単語分割の対象になります
およびパス名の展開。 展開が二重引用符で囲まれている場合、展開されます
各パラメーターの値が最初の文字で区切られた単一の単語に
IFS 特別な変数。 あれは、 "$*「」は「」と同等です$1c$2c..."、 どこ c
の値の最初の文字です IFS 変数。 もしも IFS 設定されていない、
パラメータはスペースで区切られます。 もしも IFS nullの場合、パラメータは結合されます
セパレーターを介さずに。
@ XNUMXつから開始して位置パラメータに展開します。 拡張が発生したとき
二重引用符で囲むと、各パラメーターは個別の単語に展開されます。 あれは、 "$@「です
に相当 "$1""$2"...単語内で二重引用符で囲まれた展開が発生した場合、
最初のパラメータの展開は、の最初の部分と結合されます
元の単語、および最後のパラメータの展開は最後の部分と結合されます
元の単語の。 位置パラメータがない場合、 "$@"と $@ 拡張
何もしません(つまり、それらは削除されます)。
# XNUMX進数の位置パラメータの数に拡張されます。
? 最後に実行されたフォアグラウンドパイプラインの終了ステータスに展開されます。
- 呼び出し時に指定された現在のオプションフラグに展開されます。 セッションに
組み込みコマンド、またはシェル自体によって設定されたコマンド( -i オプション)。
$ シェルのプロセスIDに展開されます。 ()サブシェルでは、次のように展開されます
サブシェルではなく、現在のシェルのプロセスID。
! 最近バックグラウンドに配置されたジョブのプロセスIDに展開されます。
非同期コマンドとして実行されるか、 bg ビルトイン(を参照) 仕事
CONTROL 下)。
0 シェルまたはシェルスクリプトの名前に展開されます。 これはシェルで設定されます
初期化。 もしも bash コマンドのファイルで呼び出され、 $0 名前に設定されています
そのファイルの。 もしも bash で始まります -c オプション、次に $0 最初に設定されます
実行される文字列の後の引数(存在する場合)。 それ以外の場合は設定されます
呼び出すために使用されるファイル名に bash、引数ゼロで与えられるように。
_ シェルの起動時に、シェルまたはシェルの呼び出しに使用される絶対パス名に設定します
環境または引数リストで渡されたとおりに実行されるスクリプト。 その後、
展開後、前のコマンドの最後の引数に展開します。 また、
実行されて配置された各コマンドを呼び出すために使用されるフルパス名
そのコマンドにエクスポートされた環境。 メールをチェックするとき、このパラメータは
現在チェックされているメールファイルの名前。

シェル(Shell) Variables
次の変数はシェルによって設定されます。

BASH このインスタンスを呼び出すために使用される完全なファイル名に展開されます bash.
バショップ
有効なシェルオプションのコロンで区切られたリスト。 リスト内の各単語は有効です
の引数 -s オプションを 買い物 組み込みコマンド(を参照) SHELL ビルティン コマンド
下)。 に表示されるオプション バショップ として報告されたものです on by 買い物。 場合
この変数は、次の場合に環境内にあります。 bash 起動し、の各シェルオプション
スタートアップファイルを読み取る前に、リストが有効になります。 この変数は読み取り専用です。
バシピッド
現在のプロセスIDに展開されます bash 処理する。 これはとは異なります $$
を必要としないサブシェルなどの特定の状況 bash 再-
初期化されました。
BASH_エイリアス
メンバーがの内部リストに対応する連想配列変数
によって維持されるエイリアス alias ビルトイン。 この配列に追加された要素は、
エイリアスリスト。 配列要素の設定を解除すると、エイリアスがエイリアスから削除されます
リスト。
BASH_ARGC
値がの各フレームのパラメーターの数である配列変数
現在 bash 実行呼び出しスタック。 現在のパラメータの数
サブルーチン(シェル関数またはで実行されるスクリプト . or source)は上部にあります
スタック。 サブルーチンが実行されると、渡されるパラメーターの数は次のようになります。
にプッシュ BASH_ARGC。 シェルセット BASH_ARGC 拡張デバッグの場合のみ
モード(の説明を参照してください 拡張デバッグ オプションを 買い物 以下に組み込まれています)
BASH_ARGV
現在のすべてのパラメーターを含む配列変数 bash 実行
コールスタック。 最後のサブルーチン呼び出しの最後のパラメーターは、
スタック; 最初の呼び出しの最初のパラメーターは下部にあります。 サブルーチンの場合
が実行されると、提供されたパラメータがプッシュされます BASH_ARGV。 シェルセット
BASH_ARGV 拡張デバッグモードの場合のみ(の説明を参照) 拡張デバッグ
オプションを 買い物 以下に組み込まれています)
BASH_CMDS
メンバーが内部ハッシュテーブルに対応する連想配列変数
によって維持されるコマンドの ハッシュ ビルトイン。 この配列に追加された要素が表示されます
ハッシュテーブル内。 配列要素の設定を解除すると、コマンドが
ハッシュ表。
BASH_コマンド
シェルが実行されていない限り、現在実行中または実行されようとしているコマンド
トラップの結果としてコマンドを実行します。この場合、それはコマンドです。
トラップ時に実行されます。
BASH_EXECUTION_STRING
へのコマンド引数 -c 呼び出しオプション。
BASH_LINENO
メンバーがソースファイルの行番号である配列変数。
の対応するメンバー 機能名 呼び出されました。 $ {BASH_LINENO [$i]} 行です
ソースファイルの番号($ {BASH_SOURCE [$ i + 1]}) どこ $ {FUNCNAME [$i]} と呼ばれていました
(または $ {BASH_LINENO [$ i-1]} 別のシェル関数内で参照されている場合)。 使用する リネノ
現在の行番号を取得します。
BASH_REMATCH
メンバーがによって割り当てられる配列変数 =~ 二項演算子 [[
条件付きコマンド。 インデックス0の要素は、文字列の一部です。
正規表現全体に一致します。 インデックスを持つ要素 n の部分です
に一致する文字列 n括弧で囲まれた部分式。 この変数は読み取られます-
のみ。
BASH_SOURCE
メンバーがソースファイル名である配列変数。
のシェル関数名 機能名 配列変数が定義されています。 シェル
function $ {FUNCNAME [$i]} ファイルで定義されています $ {BASH_SOURCE [$i]} から呼び出されます
$ {BASH_SOURCE [$ i + 1]}.
BASH_サブシェル
シェルの場合、各サブシェルまたはサブシェル環境内でXNUMXつずつインクリメントされます
その環境で実行を開始します。 初期値は0です。
BASH_VERSINFO
メンバーがこのインスタンスのバージョン情報を保持する読み取り専用配列変数
of bash。 配列メンバーに割り当てられる値は次のとおりです。
BASH_VERSINFO [0] メジャーバージョン番号( リリース).
BASH_VERSINFO [1] マイナーバージョン番号( バージョン).
BASH_VERSINFO [2] パッチレベル。
BASH_VERSINFO [3] ビルドバージョン。
BASH_VERSINFO [4] リリースステータス(例: beta1).
BASH_VERSINFO [5] の値 マッハタイプ.
BASH_VERSION
このインスタンスのバージョンを説明する文字列に展開されます bash.
COMP_CWORD
へのインデックス $ {COMP_WORDS} 現在のカーソル位置を含む単語の。
この変数は、プログラマブルによって呼び出されるシェル関数でのみ使用できます
完了施設(を参照) プログラム対応 完成 下)。
COMP_KEY
現在の完了を呼び出すために使用されるキー(またはキーシーケンスの最後のキー)
機能。
COMP_LINE
現在のコマンドライン。 この変数は、シェル関数と
プログラム可能な完了機能によって呼び出される外部コマンド(を参照)
プログラム対応 完成 下)。
COMP_POINT
現在の先頭を基準にした現在のカーソル位置のインデックス
指図。 現在のカーソル位置が現在のコマンドの最後にある場合、
この変数の値は次のようになります $ {#COMP_LINE}。 この変数はのみ使用可能です
プログラム可能な完了によって呼び出されるシェル関数および外部コマンド
施設(を参照) プログラム対応 完成 下)。
COMP_TYPE
試行された完了のタイプに対応する整数値に設定します。
完了関数が呼び出されました: TAB、通常の完了の場合、 ?、用
連続するタブの後に完了を一覧表示します。 !、部分的な代替案を一覧表示するため
単語補完、 @、単語が変更されていない場合に補完を一覧表示する、または %、用
メニューの完成。 この変数は、シェル関数と外部でのみ使用できます
プログラム可能な完了機能によって呼び出されるコマンド(を参照) プログラム対応
完成 下)。
COMP_WORDBREAKS
その文字のセット 読み込まれた行 ライブラリは、次の場合に単語の区切り文字として扱います
単語補完を実行します。 もしも COMP_WORDBREAKS 設定されていない、それはその特別なものを失います
後でリセットされた場合でも、プロパティ。
COMP_WORDS
配列変数(を参照) 配列 以下)の個々の単語で構成されています
現在のコマンドライン。 行は次のように単語に分割されます 読み込まれた行 それを分割します、
COMP_WORDBREAKS 上記のように。 この変数はシェルでのみ使用可能です
プログラム可能な完了機能によって呼び出される関数(を参照) プログラム対応
完成 下)。
コプロック 配列変数(を参照) 配列 以下)のファイル記述子を保持するために作成されました
名前のないコプロセスからの出力とコプロセスへの入力(を参照) コプロセス 上記)。
ダースタック
配列変数(を参照) 配列 以下)の現在の内容を含む
ディレクトリスタック。 ディレクトリは、表示されている順序でスタックに表示されます
を通じて、タンピングされたコーヒーベッドの上から均一にフィルターバスケットの内の粉に浸透していきます。 Dirs ビルトイン。 この配列変数のメンバーへの割り当ては、
すでにスタックにあるディレクトリを変更しますが、 pushdは & popdを ビルトインは
ディレクトリの追加と削除に使用されます。 この変数への割り当ては変更されません
現在のディレクトリ。 もしも ダースタック 設定されていない場合でも、特別なプロパティが失われます
その後リセットされた場合。
EUID シェルの起動時に初期化された、現在のユーザーの有効なユーザーIDに展開されます。
この変数は読み取り専用です。
機能名
現在にあるすべてのシェル関数の名前を含む配列変数
実行呼び出しスタック。 インデックス0の要素は、現在の任意の名前です-
シェル関数の実行。 一番下の要素(インデックスが最も高い要素)
「メイン」です。 この変数は、シェル関数が実行されている場合にのみ存在します。
への割り当て 機能名 効果はなく、エラーステータスを返します。 もしも 機能名 is
設定を解除すると、後でリセットされても、特別なプロパティが失われます。

この変数はで使用できます BASH_LINENO & BASH_SOURCE。 の各要素
機能名 対応する要素があります BASH_LINENO & BASH_SOURCE 説明する
コールスタック。 例えば、 $ {FUNCNAME [$i]} ファイルから呼び出されました
$ {BASH_SOURCE [$ i + 1]} 行番号で $ {BASH_LINENO [$i]}を選択します。 発信者 ビルトイン
この情報を使用して現在のコールスタックを表示します。
グループ 現在のユーザーがであるグループのリストを含む配列変数
メンバー。 への割り当て グループ 効果はなく、エラーステータスを返します。 もしも
グループ が設定されていない場合、後でリセットされても、その特別なプロパティは失われます。
HISTCMD
現在のコマンドの履歴番号、または履歴リストのインデックス。 もしも
HISTCMD 設定されていない場合、その後に設定されていても、特別なプロパティが失われます
リセットします。
ホスト名
現在のホストの名前に自動的に設定されます。
ホストタイプ
マシンのタイプを一意に説明する文字列に自動的に設定されます
bash 実行中です。 デフォルトはシステムに依存します。
リネノ このパラメーターが参照されるたびに、シェルはXNUMX進数に置き換えます
スクリプト内の現在の連続する行番号(1から始まる)を表す
または機能。 スクリプトまたは関数にない場合、置換される値は
意味があることが保証されています。 もしも リネノ 設定されていない場合、その特別なプロパティが失われます。
その後リセットされても。
マッハタイプ
システムタイプを完全に説明する文字列に自動的に設定されます bash is
標準のGNUで実行 cpu-会社-システム フォーマット。 デフォルトはシステムです-
依存。
マップファイル
配列変数(を参照) 配列 以下)によって読み取られたテキストを保持するために作成されました マップファイル
変数名が指定されていない場合に組み込まれます。
OLDPWD によって設定された以前の作業ディレクトリ cd
オプターグ によって処理された最後のオプション引数の値 取得 組み込みコマンド(を参照)
SHELL ビルティン コマンド 下)。
最適化 によって処理される次の引数のインデックス 取得 組み込みコマンド(を参照)
SHELL ビルティン コマンド 下)。
OSタイプ オペレーティングシステムを説明する文字列に自動的に設定されます bash is
実行中。 デフォルトはシステムに依存します。
パイプステータス
配列変数(を参照) 配列 以下)からの終了ステータス値のリストが含まれています
最近実行されたフォアグラウンドパイプラインのプロセス(
単一のコマンドのみ)。
PPID シェルの親のプロセスID。 この変数は読み取り専用です。
PWD によって設定された現在の作業ディレクトリ cd
RANDOM このパラメータが参照されるたびに、0から32767までのランダムな整数は次のようになります。
生成されます。 乱数のシーケンスは、値を割り当てることによって初期化できます
〜へ RANDOM。 場合 RANDOM 設定されていない場合、たとえ設定されていても、その特別なプロパティは失われます
その後リセットします。
READLINE_LINE
の内容 読み込まれた行 「bind-x」で使用するためのラインバッファ(を参照) SHELL ビルティン
コマンド 下)。
READLINE_POINT
の挿入ポイントの位置 読み込まれた行 「バインド」で使用するためのラインバッファ
-x "(を参照 SHELL ビルティン コマンド 下)。
応答 によって読み取られた入力行に設定します read 引数がない場合の組み込みコマンド
供給。
SECONDS
このパラメータが参照されるたびに、シェルからの秒数
呼び出しが返されます。 値が割り当てられている場合 SECONDS、に返される値
後続の参照は、割り当てからの秒数に値を加えたものです
割り当てられました。 もしも SECONDS 設定されていない場合、たとえ設定されていても、その特別なプロパティは失われます
その後リセットします。
シェロプト
有効なシェルオプションのコロンで区切られたリスト。 リスト内の各単語は有効です
の引数 -o オプションを セッションに 組み込みコマンド(を参照) SHELL ビルティン コマンド
下)。 に表示されるオプション シェロプト として報告されたものです on by セッションに -o。 場合
この変数は、次の場合に環境内にあります。 bash 起動し、の各シェルオプション
スタートアップファイルを読み取る前に、リストが有効になります。 この変数は読み取り専用です。
SHLVL のインスタンスが発生するたびにXNUMXずつ増加します bash が開始されます。
UID シェルの起動時に初期化された、現在のユーザーのユーザーIDに展開されます。 これ
変数は読み取り専用です。

次の変数はシェルによって使用されます。 ある場合には、 bash デフォルトを割り当てます
変数への値; これらのケースを以下に示します。

BASH_COMPAT
この値は、シェルの互換性レベルを設定するために使用されます。 の説明を参照してください
  買い物 下に組み込まれています SHELL ビルティン コマンド の説明については
さまざまな互換性レベルとその効果。 値はXNUMX進数の場合があります
(例:4.2)または必要な互換性に対応する整数(例:42)
レベル。 場合 BASH_COMPAT 設定されていないか、互換性レベルの空の文字列に設定されています
現在のバージョンのデフォルトに設定されています。 もしも BASH_COMPAT 値に設定されています
これは有効な互換性レベルのXNUMXつではないため、シェルはエラーを出力します
メッセージを表示し、互換性レベルを現在のバージョンのデフォルトに設定します。
有効な互換性レベルは、によって受け入れられる互換性オプションに対応します
  買い物 以下に説明するビルトイン(たとえば、 互換性42 4.2と42は
有効な値)。 現在のバージョンも有効な値です。
BASH_ENV
このパラメータが設定されている場合 bash シェルスクリプトを実行している場合、その値は
次のように、シェルを初期化するコマンドを含むファイル名として解釈されます
〜/ .bashrc。 の価値 BASH_ENV パラメータ拡張、コマンドの対象となります
ファイル名として解釈される前の置換、および算術展開。
パス 結果のファイル名の検索には使用されません。
BASH_XTRACEFD
有効なファイル記述子に対応する整数に設定されている場合、 bash 書きます
トレース出力は次の場合に生成されます セッションに -x そのファイル記述子に対して有効になっています。 ファイル
記述子は次の場合に閉じられます BASH_XTRACEFD 設定されていないか、新しい値が割り当てられています。
設定解除 BASH_XTRACEFD または、空の文字列を割り当てると、トレース出力は次のようになります。
標準エラーに送信されます。 設定に注意してください BASH_XTRACEFD 〜2(標準
エラーファイル記述子)を設定解除すると、標準エラーが発生します
閉鎖されています。
CDPATH の検索パス cd 指図。 これは、コロンで区切られたディレクトリのリストです
シェルは、で指定された宛先ディレクトリを検索します cd
サンプル値は「。:〜:」です。/ usr".
CHILD_MAX
シェルが記憶する終了した子ステータス値の数を設定します。 Bashは
この値をPOSIXで義務付けられている最小値よりも低くすることを許可しないでください。
これを超えてはならない最大値(現在は8192)。 最小値は
システムに依存します。
COLUMNS
によって使用されます select 印刷時に端子幅を決定する複合コマンド
選択リスト。 自動的に設定されます チェックウィンサイズ オプションが有効になっているか、
受信時のインタラクティブシェル シグウィンチ.
遵守する
そこからの配列変数 bash によって生成された可能な完了を読み取ります
プログラム可能な完了機能によって呼び出されるシェル関数(を参照) プログラム対応
完成 下)。 各配列要素には、可能な補完がXNUMXつ含まれています。
EMACS If bash シェルが値で始まるときに、環境内でこの変数を見つけます
「t」は、シェルがEmacsシェルバッファーで実行されていることを前提とし、無効にします
ライン編集。
ENV そして BASH_ENV; シェルがPOSIXモードで呼び出されたときに使用されます。
FC編集 のデフォルトエディタ fc 組み込みコマンド。
無視する
ファイル名の補完を実行するときに無視するサフィックスのコロンで区切られたリスト
(参照してください 読み込まれた行 下)。 接尾辞がのエントリのXNUMXつと一致するファイル名
無視する 一致するファイル名のリストから除外されます。 サンプル値は「.o:〜」です。
(チルダを含むこの変数に値を割り当てる場合は、引用符が必要です)。
ファンネスト
0より大きい数値に設定されている場合、最大関数ネストレベルを定義します。
このネストレベルを超える関数呼び出しにより、現在のコマンドが発生します
中止します。
グロビグノーレ
無視されるファイル名のセットを定義するパターンのコロンで区切られたリスト
パス名の展開。 ファイル名がパス名拡張パターンと一致する場合も
のパターンのXNUMXつに一致します グロビグノーレ、一致リストから削除されます。
ヒストコントロール
コマンドを履歴に保存する方法を制御する、コロンで区切られた値のリスト
リスト。 値のリストに含まれている場合 無視スペース、で始まる行 スペース
文字は履歴リストに保存されません。 の値 無視された 行を引き起こします
保存されないように前の履歴エントリと一致します。 の値 両方を無視する is
の省略形 無視スペース & 無視された。 の値 消去された 以前のすべてを引き起こします
その前に履歴リストから削除される現在の行に一致する行
行が保存されます。 上記のリストにない値は無視されます。 もしも ヒストコントロール is
設定されていないか、有効な値が含まれていない場合、シェルパーサーによって読み取られるすべての行は
履歴リストに保存され、 ヒスティグノア。 XNUMX番目と
複数行の複合コマンドの後続の行はテストされず、に追加されます
の値に関係なく履歴 ヒストコントロール.
ヒストファイル
コマンド履歴が保存されているファイルの名前(を参照) 歴史 未満)。 NS
デフォルト値は 〜/ .bash_history。 設定されていない場合、コマンド履歴は次の場合に保存されません。
シェルが終了します。
ヒストファイルサイズ
履歴ファイルに含まれる最大行数。 この変数が
値が割り当てられると、履歴ファイルは必要に応じて切り捨てられ、それ以上含まれなくなります
最も古いエントリを削除することにより、その行数よりも多くなります。 履歴ファイルも
シェルが終了するときに書き込んだ後、このサイズに切り捨てられます。 値が0の場合、
履歴ファイルはゼロサイズに切り捨てられます。 非数値および数値未満
ゼロよりも切り捨てを禁止します。 シェルはデフォルト値をの値に設定します
履歴サイズ スタートアップファイルを読み取った後。
ヒスティグノア
どのコマンドラインを使用するかを決定するために使用される、コロンで区切られたパターンのリスト
履歴リストに保存されます。 各パターンは行の先頭に固定されています
行全体と一致する必要があります(暗黙の`*'が追加されます)。 各パターンは
によって指定されたチェックの後にラインに対してテストされました ヒストコントロール 適用されます。 の
通常のシェルパターンマッチング文字に加えて、 `&'は前の文字と一致します
履歴行。 `&'バックスラッシュを使用してエスケープできます。 バックスラッシュが削除されます
試合を試みる前に。 複数行のXNUMX行目以降
複合コマンドはテストされず、履歴に関係なく追加されます。
の値 ヒスティグノア.
履歴サイズ
コマンド履歴で覚えておくべきコマンドの数(を参照) 歴史 下)。 もしも
値が0の場合、コマンドは履歴リストに保存されません。 数値が少ない
ゼロより大きいと、すべてのコマンドが履歴リストに保存されます(
制限)。 シェルは、スタートアップファイルを読み取った後、デフォルト値を500に設定します。
ヒストタイムフォーマット
この変数が設定されていてnullでない場合、その値は次のフォーマット文字列として使用されます。
ストラフタイム(3)によって表示される各履歴エントリに関連付けられたタイムスタンプを印刷するには
  history ビルトイン。 この変数が設定されている場合、タイムスタンプはに書き込まれます
履歴ファイル。シェルセッション間で保存できます。 これは履歴を使用します
タイムスタンプを他の履歴行と区別するためのコメント文字。
ホーム 現在のユーザーのホームディレクトリ。 のデフォルト引数 cd ビルトイン
指図。 この変数の値は、チルダ拡張を実行するときにも使用されます。
ホストファイル
と同じ形式のファイルの名前が含まれています /etc/hosts それを読む必要があります
シェルがホスト名を完成させる必要があるとき。 可能なホスト名のリスト
シェルの実行中に補完が変更される場合があります。 次回のホスト名
値が変更された後、完了が試行されます。 bash の内容を追加します
既存のリストに新しいファイル。 もしも ホストファイル 設定されているが、値がない、またはない
読み取り可能なファイルに名前を付け、 bash 読み込もうとします /etc/hosts のリストを取得するには
可能なホスト名の補完。 いつ ホストファイル が設定されていない場合、ホスト名リストは
クリアしました。
IFS   内部 フィールド セパレータ これは、拡張後の単語分割に使用されます。
行を単語に分割します read 組み込みコマンド。 デフォルト値は
「 ''。
無視する
受信時のインタラクティブシェルのアクションを制御します EOF としてのキャラクター
唯一の入力。 設定されている場合、値は連続した数です EOF キャラクター
前に入力行の最初の文字として入力する必要があります bash 終了します。 の場合
変数は存在しますが、数値がないか、デフォルトの値がありません
値は10です。存在しない場合は、 EOF シェルへの入力の終了を示します。
入力RC
のファイル名 読み込まれた行 スタートアップファイル、デフォルトのオーバーライド 〜/ .inputrc
(参照してください 読み込まれた行 下)。
言語 特に選択されていないカテゴリのロケールカテゴリを決定するために使用されます
で始まる変数 LC_.
LC_ALL この変数は、 言語 その他 LC_ を指定する変数
ロケールカテゴリ。
LC_COLLATE
この変数は、の結果を並べ替えるときに使用される照合順序を決定します。
パス名の展開、および範囲式の動作、同等性を決定します
クラス、およびパス名展開とパターンマッチング内のシーケンスの照合。
LC_CTYPE
この変数は、文字の解釈との動作を決定します
パス名拡張およびパターンマッチング内の文字クラス。
LC_MESSAGES
この変数は、二重引用符で囲まれた文字列の翻訳に使用されるロケールを決定します
前に $.
LC_NUMERIC
この変数は、数値の書式設定に使用されるロケールカテゴリを決定します。
LINES によって使用されます select 印刷用の列の長さを決定する複合コマンド
選択リスト。 自動的に設定されます チェックウィンサイズ オプションが有効になっているか、
受信時のインタラクティブシェル シグウィンチ.
MAIL このパラメータがファイル名またはディレクトリ名に設定されている場合、 メールパス 変数は
設定されていません、 bash 指定されたファイルにメールが到着したことをユーザーに通知するか、
Maildir形式のディレクトリ。
メールチェック
頻度を指定します(秒単位) bash メールをチェックします。 デフォルトは60秒です。
メールをチェックする時間になると、シェルはプライマリを表示する前にチェックします
促す。 この変数が設定されていない場合、または数値よりも大きくない値に設定されている場合
ゼロ以上の場合、シェルはメールチェックを無効にします。
メールパス
メールをチェックするファイル名のコロンで区切られたリスト。 あるべきメッセージ
メールが特定のファイルに到着したときに印刷されるのは、
「?」を含むメッセージのファイル名。 メッセージのテキストで使用される場合、 $_
現在のメールファイルの名前に展開されます。 例:
メールパス='/ var / mail / bfox? "メールがあります":〜/ shell-mail?"$ _にメールがあります!" '
Bash この変数のデフォルト値を提供しますが、ユーザーメールの場所
使用するファイルはシステムに依存します(例: / var / mail /$ USER).
オプター 値1に設定されている場合 bash によって生成されたエラーメッセージを表示します 取得
組み込みコマンド(を参照) SHELL ビルティン コマンド 下)。 オプター 1に初期化されます
シェルが呼び出されるか、シェルスクリプトが実行されるたび。
パス コマンドの検索パス。 これは、コロンで区切られたディレクトリのリストです。
シェルはコマンドを探します(を参照) COMMAND 実行 下)。 長さゼロ(null)
の値のディレクトリ名 パス 現在のディレクトリを示します。 null
ディレクトリ名は、XNUMXつの隣接するコロンとして、または最初または末尾として表示される場合があります
結腸。 デフォルトのパスはシステムに依存し、管理者によって設定されます。
インストールする bash。 一般的な値は「/ usr / local / bin:/ usr / local / sbin:/ usr / bin:
/ usr / sbin:/ binに:/ sbin''。
POSIXLY_CORRECT
この変数が環境にある場合 bash 開始し、シェルが入ります POSIX
モード スタートアップファイルを読む前に、 --posix 呼び出しオプションは
供給。 シェルの実行中に設定された場合、 bash 可能 POSIX モード、 かのように
コマンド セッションに -o POSIX 実行されていた。
プロンプト_コマンド
設定されている場合、値は各プライマリプロンプトを発行する前にコマンドとして実行されます。
PROMPT_DIRTRIM
ゼロより大きい数値に設定されている場合、その値は末尾の数値として使用されます
展開時に保持するディレクトリコンポーネント \w & \W プロンプト文字列エスケープ
(参照してください プロンプト 下)。 削除された文字は省略記号に置き換えられます。
PS1 このパラメーターの値は拡張されます(を参照)。 プロンプト 以下)およびとして使用されます
プライマリプロンプト文字列。 デフォルト値は「\ s- \ v \ $ ''。
PS2 このパラメーターの値は、次のように展開されます。 PS1 セカンダリとして使用されます
プロンプト文字列。 デフォルトは「> ''。
PS3 このパラメーターの値は、プロンプトとして使用されます。 select コマンド(を参照) SHELL
文法 上記)。
PS4 このパラメーターの値は、次のように展開されます。 PS1 値は前に印刷されます
各コマンド bash 実行トレース中に表示されます。 の最初の文字 PS4
必要に応じて複数回複製され、
間接。 デフォルトは「+ ''。
SHELL シェルへのフルパス名は、この環境変数に保持されます。 そうでない場合
シェルの起動時に設定、 bash 現在のフルパス名を割り当てます
ユーザーのログインシェル。
タイムフォーマット
このパラメータの値は、タイミングを指定するフォーマット文字列として使用されます
接頭辞が付いたパイプラインの情報 時間 予約語が表示されます。
  % 文字は、時間値またはに展開されるエスケープシーケンスを導入します
その他の情報。 エスケープシーケンスとその意味は次のとおりです。 the
中括弧はオプションの部分を示します。
%% リテラル %.
%[p] [l] R 秒単位の経過時間。
%[p] [l] U ユーザーモードで費やされたCPU秒数。
%[p] [l] S システムモードで費やされたCPU秒数。
%P (%U +%S)/%Rとして計算されるCPUパーセンテージ。

オプション p を指定する数字です 精度、小数桁数
小数点以下。 値が0の場合、小数点または小数はなくなります。
出力。 小数点以下XNUMX桁まで指定できます。 の値 p
3より大きいものは3に変更されます。 p が指定されていない場合、値3が使用されます。

オプション l フォームのより長いフォーマット(分を含む)を指定します MMmSS.FFs.
の値 p 分数が含まれるかどうかを決定します。

この変数が設定されていない場合、 bash 価値があるかのように振る舞う
$'\ nreal \ t%3lR \ nuser \ t%3lU \ nsys \ t%3lS'。 値がnullの場合、タイミングはありません
情報が表示されます。 フォーマット文字列が次の場合、末尾の改行が追加されます
表示されます。
TMOUT ゼロより大きい値に設定されている場合、 TMOUT のデフォルトタイムアウトとして扱われます
  read ビルトイン。 The select 後に入力が到着しない場合、コマンドは終了します
TMOUT 入力が端末から来ているときの秒。 インタラクティブシェルでは、
値は、後に入力行を待機する秒数として解釈されます
プライマリプロンプトを発行します。 Bash その数を待った後に終了します
入力の完全な行が到着しない場合は秒。
TMPDIR 設定されている場合、 bash その値をディレクトリの名前として使用します。 bash 作成します。
シェルで使用するための一時ファイル。
auto_resume
この変数は、シェルがユーザーおよびジョブ制御とどのように対話するかを制御します。 もしも
この変数が設定され、リダイレクトのないXNUMXワードの単純なコマンドが処理されます
既存の停止した仕事の再開の候補として。 あいまいさはありません
許可された; 入力した文字列で始まるジョブが複数ある場合、そのジョブは
最近アクセスしたものが選択されます。 The このコンテキストでは、停止したジョブの
それを開始するために使用されるコマンドライン。 値に設定されている場合 正確な、提供された文字列
停止したジョブの名前と正確に一致する必要があります。 に設定されている場合 サブストリング、文字列
提供されるのは、停止したジョブの名前のサブストリングと一致する必要があります。 The サブストリング
値は、に類似した機能を提供します %? ジョブ識別子(を参照) 仕事 CONTROL
下)。 他の値に設定されている場合、指定された文字列はプレフィックスである必要があります
停止したジョブの名前。 これは、に類似した機能を提供します %文字列 ジョブ
識別子。
ヒスチャー
履歴の拡張とトークン化を制御するXNUMXつまたはXNUMXつの文字(を参照)
歴史 拡張 下)。 最初の文字は history 拡大 キャラクター、
履歴拡張の開始を通知する文字、通常は `!'。 の
XNUMX番目の文字は クイック 置換 速記として使用される文字
入力した前のコマンドを再実行するために、ある文字列を別の文字列に置き換えます。
コマンド。 デフォルトは`です^'。 オプションのXNUMX番目の文字は文字です
これは、行の残りの部分が最初に見つかったときにコメントであることを示します
単語の文字、通常は `#'。 履歴コメント文字は履歴を引き起こします
行の残りの単語の置換はスキップされます。 それはしません
必然的に、シェルパーサーは行の残りの部分をコメントとして処理します。

配列
Bash XNUMX次元のインデックス付き連想配列変数を提供します。 任意の変数は
インデックス付き配列として使用されます。 the 宣言する ビルトインは明示的に配列を宣言します。 三
配列のサイズに上限はなく、メンバーにインデックスを付ける必要もありません。
または連続して割り当てられます。 インデックス付き配列は、整数(を含む)を使用して参照されます
算術式)およびゼロベースです。 連想配列は、を使用して参照されます
任意の文字列。 特に明記されていない限り、インデックス付き配列インデックスは負でない必要があります
整数。

構文を使用して変数が割り当てられている場合、インデックス付き配列が自動的に作成されます
[添字]=を選択します。 添字 算術式として扱われる必要があります
数値に評価します。 インデックス付き配列を明示的に宣言するには、 宣言する -a (参照してください
SHELL ビルティン コマンド 下)。 宣言する -a [添字] も受け入れられます。 the 添字
無視されます。

連想配列は、 宣言する -A .

属性は、を使用して配列変数に指定できます。 宣言する & 読み取り専用 ビルトイン。
各属性は、配列のすべてのメンバーに適用されます。

配列は、次の形式の複合割り当てを使用して割り当てられます =(1 ... 価値n),
それぞれどこ の形式は[添字]=文字列。 インデックス付き配列の割り当てはしません
何も必要ない 文字列。 インデックス付き配列に割り当てる場合、オプションのブラケットの場合
および添え字が提供され、そのインデックスが割り当てられます。 それ以外の場合、要素のインデックス
割り当て済みは、ステートメントによって割り当てられた最後のインデックスにXNUMXを加えたものです。 インデックス作成は
ゼロ。

連想配列に割り当てる場合は、添え字が必要です。

この構文は、 宣言する ビルトイン。 個々の配列要素は
の使用に割り当てられています [添字]= 上で紹介した構文。 に割り当てるとき
インデックス付き配列の場合 負の数で下書きされている場合、その数は次のように解釈されます。
の最大インデックスよりXNUMX大きいものを基準に 、したがって、負のインデックスはカウントバックします
配列の最後から、インデックス-1は最後の要素を参照します。

配列の任意の要素は、${を使用して参照できます[添字]}。 中括弧は
パス名の展開との競合を回避するために必要です。 もしも 添字 is @ or *、 言葉
のすべてのメンバーに拡張 。 これらの添え字は、単語が内に表示される場合にのみ異なります
二重引用符。 単語が二重引用符で囲まれている場合、$ {[*]}は、
の最初の文字で区切られた各配列メンバーの値 IFS 特別な変数、
および${[@]}の各要素を展開します 別の言葉に。 配列がない場合
メンバー、$ {[@]}は何にも展開されません。 二重引用符で囲まれた展開が
つまり、最初のパラメータの展開は、の最初の部分と結合されます
元の単語、および最後のパラメータの展開は、の最後の部分と結合されます
元の単語。 これは、特別なパラメータの拡張に似ています * & @ (参照してください
スペシャル 計測パラメータ その上)。 $ {#[添字]}の長さに拡張します
${[添字]}。 もしも 添字 is * or @、展開はの要素の数です
アレイ。 添え字なしで配列変数を参照することは、参照することと同じです。
下付き文字が0の配列。 添字 の要素を参照するために使用されます
インデックス付き配列はゼロ未満の数値と評価され、XNUMXに対して相対的であると解釈されます。
配列の最大インデックスよりも大きいため、負のインデックスは最後からカウントバックします
配列のインデックスであり、-1のインデックスは最後の要素を参照します。

添え字に値が割り当てられている場合、配列変数は設定されていると見なされます。 ヌル
文字列は有効な値です。

配列のキー(インデックス)と値を取得することができます。
${![@]}と${![*]}配列変数で割り当てられたインデックスに展開します を選択します。
二重引用符で囲まれた場合の処理​​は、特別なパラメーターの展開に似ています @
& * 二重引用符で囲みます。

  unset 組み込みは、アレイを破棄するために使用されます。 unset [添字]アレイを破棄します
インデックスの要素 添字。 インデックス付き配列の負の添え字は、次のように解釈されます。
上記の。 パス名によって引き起こされる望ましくない副作用を回避するように注意する必要があります
拡張。 unset ここで、 配列、または unset [添字]、 どこ 添字
is * or @、アレイ全体を削除します。

  宣言する, ローカル, 読み取り専用 ビルトインはそれぞれ受け入れます -a インデックス付きを指定するオプション
配列と -A 連想配列を指定するオプション。 両方のオプションが提供されている場合、 -A
優先されます。 The read ビルトインは -a 読み取った単語のリストを割り当てるオプション
標準入力から配列へ。 The セッションに & 宣言する ビルトインはで配列値を表示します
それらを割り当てとして再利用できるようにする方法。

拡張


拡張は、単語に分割された後、コマンドラインで実行されます。 がある
実行されたXNUMX種類の拡張: ブレース 拡大, チルダ 拡大, パラメーター &
変数 拡大, command 置換, 算術 拡大, 単語 分裂,
パス名 拡大.

拡張の順序は次のとおりです。ブレース拡張。 チルダ拡張、パラメータおよび変数
拡張、算術拡張、およびコマンド置換(左から右に実行)
ファッション); 単語分割; およびパス名の展開。

それをサポートできるシステムでは、利用可能な追加の拡張があります。 プロセス
置換。 これは、チルダ、パラメータ、変数、および
算術展開とコマンド置換。

中括弧の展開、単語の分割、およびパス名の展開のみが、
拡張の言葉; 他の拡張は、XNUMXつの単語をXNUMXつの単語に拡張します。 唯一の
これに対する例外は、「$@"と"${[@]}"上記で説明したように(を参照
パラメーター).

ブレース 拡張
ブレース 拡大 任意の文字列を生成できるメカニズムです。 これ
メカニズムはに似ています パス名 拡大、ただし、生成されるファイル名は存在する必要はありません。
ブレース拡張されるパターンは、オプションの形式を取ります 前文、その後に
一連のコンマ区切りの文字列または中括弧のペア間のシーケンス式、
オプションの 追記。 プリアンブルは、含まれる各文字列の前に付けられます
中括弧内に挿入すると、結果の各文字列に追記が追加され、展開されます
左から右へ。

ブレース拡張はネストできます。 展開された各文字列の結果は並べ替えられません。 左
正しい順序が保持されます。 たとえば、{d、c、b}eは`adeaceabe'に展開されます。

シーケンス式は次の形式を取ります {x..y[..増加]}ここで、 x & y 整数または
単一の文字、および 増加、オプションの増分は整数です。 整数の場合
指定すると、式は間の各数値に展開されます x & y、包括的。 供給
整数の前に付けることができます 0 各項に同じ幅を強制します。 どちらか x
or y ゼロで始まり、シェルは生成されたすべての用語に
同じ桁数、必要に応じてゼロパディング。 文字が指定されている場合、
式は、辞書式順序で各文字に展開されます x & y、包括的、使用
デフォルトのCロケール。 両方に注意してください x & y 同じタイプである必要があります。 いつ
増分が提供され、各項の差として使用されます。 デフォルト
増分は、必要に応じて1または-1です。

ブレース拡張は、他の拡張の前に実行され、
他の展開は結果に保持されます。 厳密にテキストです。 Bash しない
構文解釈を展開のコンテキストまたはテキスト間のテキストに適用します
中括弧。

正しく形成されたブレース拡張には、引用符で囲まれていない開閉ブレースが含まれている必要があります。
少なくともXNUMXつの引用符で囲まれていないコンマまたは有効なシーケンス式。 誤って形成されたブレース
拡張は変更されません。 A { or , 存在を防ぐためにバックスラッシュで引用することができます
ブレース表現の一部と見なされます。 パラメータ拡張との競合を回避するために、
文字列 ${ ブレース拡張の対象とは見なされません。

この構成は通常、文字列の共通プレフィックスが
生成されたものは上記の例よりも長くなります。

mkdir / usr / local / src / bash / {old、new、dist、bugs}
or
チャウンルート / usr /{ucb / {ex、edit}、lib / {ex?。?*、how_ex}}

ブレースの拡張により、以前のバージョンとのわずかな非互換性が導入されます sh. sh
中括弧が単語の一部として表示される場合、中括弧の開閉を特別に扱いません。
それらを出力に保存します。 Bash 中括弧の結果として単語から中括弧を削除します
拡張。 たとえば、 sh as ファイル{1,2} に同じように表示されます
出力。 同じ単語が出力されます file1 file2 による拡張後 bash。 厳しい場合
との互換性 sh 望ましい、開始 bash +B オプションまたはブレース拡張を無効にする
+B オプションを セッションに コマンド(を参照) SHELL ビルティン コマンド 下)。

チルダ 拡張
単語が引用符で囲まれていないチルダ文字で始まる場合( `~')、先行するすべての文字
最初の引用符で囲まれていないスラッシュ(または引用符で囲まれていないスラッシュがない場合はすべての文字)が考慮されます
a チルダプレフィックス。 チルダプレフィックスの文字が引用符で囲まれていない場合、文字
チルダに続くチルダ接頭辞では、可能なものとして扱われます ログイン 。 これなら
ログイン名はnull文字列で、チルダはシェルパラメータの値に置き換えられます
ホーム。 場合 ホーム が設定されていない場合、シェルを実行しているユーザーのホームディレクトリが置き換えられます
代わりは。 それ以外の場合、チルダプレフィックスはに関連付けられたホームディレクトリに置き換えられます
指定されたログイン名。

チルダプレフィックスが`〜+'の場合、シェル変数の値 PWD チルダを置き換えます-
プレフィックス。 チルダプレフィックスが`〜-'の場合、シェル変数の値 OLDPWD、 もしそれが
セット、置換されます。 チルダプレフィックスのチルダに続く文字が
N、オプションで接頭辞「+」または「-」を付けると、チルダ接頭辞は
ディレクトリスタックからの対応する要素。 Dirs
引数としてチルダプレフィックスを使用して呼び出されるビルトイン。 次の文字の場合
チルダプレフィックスのチルダは、先頭に「+」または「-」がない数字で構成され、「+」は
想定。

ログイン名が無効な場合、またはチルダ拡張が失敗した場合、単語は変更されません。

各変数の割り当ては、引用符で囲まれていないチルダプレフィックスがないかチェックされます。 :
または最初の =。 これらの場合、チルダ拡張も実行されます。 その結果、人は
の割り当てにチルダ付きのファイル名を使用する パス, メールパス, CDPATH、およびシェル
展開された値を割り当てます。

拡張
`$'文字は、パラメーター拡張、コマンド置換、または算術演算を導入します
拡張。 展開するパラメータ名または記号は中括弧で囲むことができます。
オプションですが、すぐに文字から展開される変数を保護するのに役立ちます
名前の一部として解釈される可能性のあるそれに続く。

中括弧を使用する場合、一致する終了中括弧が最初の`}'によって逃げられない
バックスラッシュまたは引用符で囲まれた文字列内で、埋め込まれた算術展開内ではなく、
コマンド置換、またはパラメーター拡張。

${パラメーター}
の値 パラメーター 代用されます。 中かっこは次の場合に必要です パラメーター  
複数桁の位置パラメータ、または パラメーター の後に
名前の一部として解釈されない文字。 The パラメーター  
上記のシェルパラメータ パラメーター)または配列参照(配列).

の最初の文字の場合 パラメーター 感嘆符です(!)、それはのレベルを導入します
可変間接参照。 Bash 残りの部分から形成された変数の値を使用します
パラメーター 変数の名前として; 次に、この変数が展開され、その値は次のようになります。
の値ではなく、残りの置換で使用されます パラメーター 自体。 これは
として知られている 間接的な 拡大。 これに対する例外は、${の拡張です。!接頭辞*}と
${![@]} 以下で説明します。 感嘆符は、左中括弧の直後に続く必要があります
間接参照を導入するため。

以下の各ケースで、 単語 チルダ拡張、パラメータ拡張、
コマンド置換、および算術展開。

部分文字列展開を実行しない場合は、以下に記載されているフォームを使用してください(例: :-), bash
未設定またはnullのパラメーターをテストします。 コロンを省略すると、テストのみが行われます
設定されていないパラメータの場合。

${パラメーター:-単語}
  デフォルト 価値観。 場合 パラメーター 未設定またはnullの場合、 単語 is
代用。 それ以外の場合、 パラメーター 代用されます。
${パラメーター:=単語}
割り当てます デフォルト 価値観。 場合 パラメーター 未設定またはnullの場合、 単語 is
に割り当てられた パラメーター。 の価値 パラメーター その後、置換されます。 ポジショナル
この方法では、パラメータと特別なパラメータを割り当てることはできません。
${パラメーター:?単語}
ディスプレイ エラー if ヌル or 未設定。 場合 パラメーター nullまたは未設定の場合、
単語 (またはその旨のメッセージ 単語 存在しません)に書き込まれます
標準エラーとシェルは、対話型でない場合は終了します。 それ以外の場合は、
の値 パラメーター 代用されます。
${パラメーター:+単語}
  代替の 。 場合 パラメーター nullまたは未設定、何も置き換えられない、
それ以外の場合の拡張 単語 代用されます。
${パラメーター:オフセット}
${パラメーター:オフセット:長さ}
部分文字列 拡張。 最大まで拡張します 長さ の値の文字 パラメーター
で指定された文字から開始 オフセット。 場合 パラメーター is @、インデックス付き配列
添え字 @ or *、または連想配列名の場合、結果は次のように異なります。
以下で説明します。 もしも 長さ 省略され、の値の部分文字列に展開されます
パラメーター で指定された文字から開始 オフセット そして最後まで伸びる
値。 長さ & オフセット 算術式です(を参照) 算術 評価
下)。

If オフセット ゼロ未満の数値に評価され、その値はでオフセットとして使用されます
の値の末尾からの文字 パラメーター。 場合 長さ 数に評価します
ゼロ未満の場合、文字の末尾からのオフセットとして解釈されます。
の値 パラメーター 文字数ではなく、拡張は
間の文字 オフセット そしてその結果。 負のオフセットは
と混同されないように、少なくともXNUMXつのスペースで結腸から分離されています :-
拡張。

If パラメーター is @、結果は 長さ で始まる位置パラメータ オフセット.
ネガティブ オフセット 最大の位置よりも大きい方を基準にして取得されます
したがって、-1のオフセットは最後の位置パラメータに評価されます。 それは
場合の拡張エラー 長さ ゼロ未満の数値に評価されます。

If パラメーター @または*で区切られたインデックス付き配列名である場合、結果は次のようになります。
長さ ${で始まる配列のメンバーパラメーター[オフセット]}。 ネガティブ オフセット
指定された配列の最大インデックスよりXNUMXつ大きい値を基準にして取得されます。 それ
の場合、拡張エラーです 長さ ゼロ未満の数値に評価されます。

連想配列にサブストリング拡張を適用すると、未定義の結果が生成されます。

位置パラメータが使用されていない限り、サブストリングのインデックス付けはゼロベースです。
この場合、インデックス付けはデフォルトで1から始まります。 もしも オフセット は0であり、位置
パラメータが使用され、 $0 リストの前に付けられます。

${!接頭辞*}
${!接頭辞@}
マッチング 接頭辞。 名前がで始まる変数の名前に展開されます
接頭辞、の最初の文字で区切られます IFS 特別な変数。 いつ @ is
使用され、展開が二重引用符で囲まれている場合、各変数名は次のように展開されます。
別の言葉。

${![@]}
${![*]}
リスト of 配列 キー。 場合 配列変数であり、配列のリストに展開されます
で割り当てられたインデックス(キー) 。 場合 は配列ではなく、次の場合は0に展開されます is
それ以外の場合は設定してnullにします。 いつ @ が使用され、拡張がXNUMX倍以内に表示されます
引用符、各キーは別々の単語に展開されます。

${#パラメーター}
長さ。 の値の文字単位の長さ パラメーター is
代用。 もしも パラメーター is * or @、置換される値は
位置パラメータ。 もしも パラメーター で始まる配列名です * or @
置換される値は、配列内の要素の数です。 もしも パラメーター あります
負の数で始まるインデックス付き配列名。その数は次のように解釈されます。
の最大インデックスよりXNUMX大きいものを基準に パラメーター、したがって負のインデックス
配列の最後からカウントバックし、-1のインデックスは最後を参照します
要素。

${パラメーター#単語}
${パラメーター##単語}
削除します マッチング 接頭辞 パターンを選択します。 単語 と同じようにパターンを生成するために拡張されます
パス名の展開で。 パターンがの値の先頭と一致する場合
パラメーター、次に、展開の結果は、の展開された値です。 パラメーター  
最短のマッチングパターン(「#''ケース)または最長の一致パターン(
``##''ケース)削除されました。 もしも パラメーター is @ or *、パターン除去操作は
各位置パラメータに順番に適用され、展開は結果として得られます
リスト。 もしも パラメーター 添え字付きの配列変数です @ or *、 パターン
削除操作はアレイの各メンバーに順番に適用され、拡張は
結果のリストです。

${パラメーター%単語}
${パラメーター%%単語}
削除します マッチング サフィックス パターンを選択します。 単語 と同じようにパターンを生成するために拡張されます
パス名の展開で。 パターンが展開された後部と一致する場合
の値 パラメーター、次に、展開の結果は、の展開された値です。
パラメーター 一致するパターンが最も短い(「%''ケース)または最長
マッチングパターン(「%%''ケース)削除されました。 もしも パラメーター is @ or *、 パターン
除去操作は各位置パラメータに順番に適用され、
拡張は結果のリストです。 もしも パラメーター 添え字付きの配列変数です
  @ or *、パターン削除操作は配列の各メンバーに適用されます
順番に、展開は結果のリストです。

${パラメーター/パターン/文字列}
パターン 置換を選択します。 パターン と同じようにパターンを生成するために展開されます
パス名の展開。 が拡張され、の最長一致 パターン に対して
その値はに置き換えられます 文字列。 場合 パターン 〜で始まる /、のすべての一致
パターン に置き換えられます 文字列。 通常、最初の一致のみが置き換えられます。 もしも
パターン 〜で始まる #、の展開値の先頭で一致する必要があります
パラメーター。 場合 パターン 〜で始まる %、展開された最後に一致する必要があります
の値 パラメーター。 場合 文字列 null、の一致 パターン 削除され、 /
フォロー中 パターン 省略できます。 もしも パラメーター is @ or *、置換
操作は各位置パラメータに順番に適用され、拡張は
結果のリスト。 もしも パラメーター 添え字付きの配列変数です @ or *
置換操作は配列の各メンバーに順番に適用され、
拡張は結果のリストです。

${パラメーター^パターン}
${パラメーター^^パターン}
${パラメーター,パターン}
${パラメーター,,パターン}
シミュレーション例 変形。 この拡張により、の英字の大文字と小文字が変更されます。
パラメーターを選択します。 パターン パス名と同じようにパターンを生成するために展開されます
拡張。 の展開値の各文字 パラメーター に対してテストされます
パターン、および、パターンに一致する場合は、大文字と小文字が変換されます。 パターンは
複数の文字を一致させようとしないでください。 The ^ 演算子は小文字に変換します
一致する文字 パターン 大文字に; the , 演算子は一致する大文字を変換します
小文字への文字。 The ^^ & ,, 展開は、一致した各文字を変換します
展開された値。 the ^ & , 展開は一致し、最初の展開のみを変換します
展開された値の文字。 もしも パターン 省略され、のように扱われます ?,
すべての文字に一致します。 もしも パラメーター is @ or *、ケースの変更
操作は各位置パラメータに順番に適用され、拡張は
結果のリスト。 もしも パラメーター 添え字付きの配列変数です @ or *
ケース変更操作が配列の各メンバーに順番に適用され、
拡張は結果のリストです。

Command 置換
Command 置換 コマンドの出力でコマンド名を置き換えることができます。 三
XNUMXつの形式があります:

$( command)
or
` command`

Bash を実行して拡張を実行します command コマンド置換を置き換えます
コマンドの標準出力で、末尾の改行が削除されます。 埋め込み
改行は削除されませんが、単語の分割中に削除される可能性があります。 コマンド
置換 $(猫 file) 同等ですがより高速に置き換えることができます $( file).

古いスタイルのバッククォート形式の置換が使用される場合、バックスラッシュはそのリテラルを保持します
後に続く場合を除いて意味 $, `または \。 の前にない最初のバッククォート
バックスラッシュはコマンド置換を終了します。 $(を使用する場合 command)フォーム、すべて
括弧内の文字がコマンドを構成します。 特別に扱われるものはありません。

コマンド置換はネストできます。 バッククォートされたフォームを使用するときにネストするには、エスケープします
バックスラッシュ付きの内側のバッククォート。

置換が二重引用符で囲まれている場合、単語の分割とパス名の展開
結果に対しては実行されません。

算術 拡張
算術展開により、算術式と
結果の置換。 算術展開の形式は次のとおりです。

$((表現))

古い形式 $[表現] は非推奨であり、次のバージョンで削除される予定です。
bash。

  表現 二重引用符内にあるかのように扱われますが、内部に二重引用符があります
括弧は特別に扱われません。 式内のすべてのトークンはパラメーターを受け取ります
変数の展開、コマンド置換、および引用符の削除。 結果は次のように扱われます
評価される算術式。 算術展開はネストできます。

評価は、以下のルールに従って行われます。 算術
評価。 場合 表現 無効です、 bash 失敗を示すメッセージを出力し、
置換が発生します。

プロセス 置換
プロセス 置換 名前付きパイプをサポートするシステムでサポートされています(FIFO) または
/ dev / fd 開いているファイルに名前を付ける方法。 それはの形を取ります <(リスト) or >(リスト)を選択します。
プロセス リスト 入力または出力をに接続して実行されます FIFO またはのいくつかのファイル / dev / fd.
このファイルの名前は、結果として現在のコマンドに引数として渡されます。
拡張。 の場合 >(リスト) フォームが使用されている場合、ファイルへの書き込みは次の入力を提供します リスト.
Status <(リスト) フォームが使用されている場合、引数として渡されたファイルを読み取って、
の出力 リスト.

利用可能な場合、プロセス置換はパラメータと
変数展開、コマンド置換、および算術展開。

Word 分裂
シェルは、パラメーター展開、コマンド置換、および算術演算の結果をスキャンします
の二重引用符内で発生しなかった拡張 単語 分裂.

シェルはの各文字を扱います IFS 区切り文字として、他の結果を分割します
これらの文字をフィールドターミネータとして使用して単語に展開します。 もしも IFS 設定されていない、または
その値は正確に 、デフォルト、次にシーケンス , ,
& 以前の拡張の結果の最初と最後は
無視され、 IFS 最初または最後にない文字は区切り文字として機能します
言葉。 もしも IFS デフォルト以外の値があり、空白のシーケンス
文字 スペース & タブ 単語の最初と最後で無視されます
空白文字はの値にあります IFSIFS 空白文字)。 任意のキャラクター
in IFS それは違います IFS 空白、および隣接する IFS 空白文字、
フィールドを区切ります。 のシーケンス IFS 空白文字も区切り文字として扱われます。
の値が IFS nullの場合、単語の分割は発生しません。

明示的なnull引数("" or '')は保持されます。 引用符で囲まれていない暗黙のnull引数、
値を持たないパラメーターの展開に起因するものは削除されます。 もし
値のないパラメーターは二重引用符で囲まれて展開され、引数がnullになり、次のようになります。
保持されます。

拡張が発生しない場合、分割は実行されないことに注意してください。

パス名 拡張
単語分割後、 -f オプションが設定されています、 bash 各単語をスキャンして
文字 *, ?, [。 これらの文字のいずれかが表示された場合、その単語は次のように見なされます。
a パターン、およびに一致するファイル名のアルファベット順にソートされたリストに置き換えられます
パターン(を参照) パターン マッチング 下)。 一致するファイル名が見つからない場合、およびシェル
オプション nullglob が有効になっていない場合、単語は変更されません。 の場合 nullglob オプションがある
設定され、一致するものが見つからない場合、単語は削除されます。 の場合 失敗グロブ シェルオプションが設定されている、
一致するものが見つからない場合、エラーメッセージが出力され、コマンドは実行されません。 もしも
シェルオプション ノーケースグロブ が有効になっている場合、ケースに関係なく一致が実行されます
アルファベット文字の。 [az](以下を参照)のような範囲式を使用する場合は、
設定によっては、他の場合の文字が含まれる場合があります LC_COLLATE。
パターンはパス名の展開に使用され、文字 「」 名前の先頭または
シェルオプションを除いて、スラッシュの直後は明示的に一致する必要があります ドットグロブ
が設定されます。 パス名を照合する場合、スラッシュ文字は常に明示的に照合する必要があります。
その他の場合、 「」 文字は特別に扱われません。 の説明を参照してください
買い物 下の SHELL ビルティン コマンド の説明については ノーケースグロブ, nullglob,
失敗グロブ, ドットグロブ シェルオプション。

  グロビグノーレ シェル変数を使用して、に一致するファイル名のセットを制限できます。
パターン。 場合 グロビグノーレ が設定され、一致する各ファイル名は、
のパターン グロビグノーレ 一致リストから削除されます。 ファイル名 「」 &
「.」 次の場合は常に無視されます グロビグノーレ が設定され、nullではありません。 ただし、設定
グロビグノーレ null以外の値にすると、 ドットグロブ シェルオプションなので、すべて
で始まる他のファイル名 「」 一致します。 無視するという古い振る舞いを取得するには
で始まるファイル名 「」、make ``。*'' のパターンのXNUMXつ グロビグノーレを選択します。
ドットグロブ オプションが無効になっている場合 グロビグノーレ 設定されていません。

パターン マッチング

特殊パターン文字以外のパターンに現れる文字
以下に説明するように、それ自体と一致します。 NUL文字はパターンで発生しない場合があります。 A
バックスラッシュは次の文字をエスケープします。 エスケープするバックスラッシュは、次の場合に破棄されます。
マッチング。 特殊パターンの文字を一致させるには、引用符で囲む必要があります
文字通り。

特殊パターン文字の意味は次のとおりです。

* null文字列を含む任意の文字列に一致します。 いつ グロブスター shell
オプションが有効になっていて、 * パス名拡張コンテキストで使用されます、XNUMX
隣接 *単一のパターンとして使用されるsは、すべてのファイルとXNUMX個以上に一致します
ディレクトリとサブディレクトリ。 続いて /、XNUMXつの隣接 *の意志
ディレクトリとサブディレクトリのみに一致します。
? 任意のXNUMX文字に一致します。
[...] 囲まれた文字のいずれかに一致します。 分離された文字のペア
ハイフンは 範囲 表現; 間にあるすべてのキャラクター
現在のロケールの照合を使用した、これらXNUMXつの文字
シーケンスと文字セットが一致します。 次の最初の文字の場合
  [   ! または ^ 次に、囲まれていない文字が一致します。 The
範囲式の文字の並べ替え順序は、
現在のロケールとの値 LC_COLLATE or LC_ALL シェル変数、
設定されている場合。 範囲式の従来の解釈を取得するには、
コラボレー [広告] に相当します [あいうえお]、の設定値 LC_ALL シェル変数
〜へ C、または有効にする 球菌類 シェルオプション。 A - によって一致する可能性があります
セットの最初または最後の文字としてそれを含みます。 A ] 一致する可能性があります
セットの最初の文字としてそれを含めることによって。

中で [ & ], 文字 クラス 構文を使用して指定できます
[:class:]ここで、 class POSIXで定義されている次のクラスのXNUMXつです
標準:
アルナム アルファ アスキー ブランク コントロール グラフ 下側 印刷 ポイント スペース アッパー 単語
x桁
キャラクタークラスは、そのクラスに属するすべてのキャラクターと一致します。 The 単語
文字クラスは、文字、数字、および文字_に一致します。

中で [ & ]同値 class 構文を使用して指定できます
[=c=]、同じ照合重みを持つすべての文字に一致します(
現在のロケールで定義されている)文字として c.

中で [ & ]、構文 [.シンボル.] 照合記号と一致します シンボル.

Status 外部グロブ シェルオプションは、 買い物 組み込み、いくつかの拡張パターン
一致する演算子が認識されます。 以下の説明では、 パターンリスト リストです
で区切られたXNUMXつまたは複数のパターンの |。 複合パターンは、XNUMXつまたは
次のサブパターンの詳細:

?(パターンリスト)
指定されたパターンのXNUMX回またはXNUMX回の出現に一致します
*(パターンリスト)
指定されたパターンのXNUMX回以上の出現に一致します
+(パターンリスト)
指定されたパターンのXNUMXつ以上のオカレンスに一致します
@(パターンリスト)
指定されたパターンのXNUMXつに一致します
!(パターンリスト)
指定されたパターンのXNUMXつを除くすべてに一致します

見積もり 除去
前の展開の後、引用符で囲まれていないすべての文字の出現 \, ', "
上記の拡張のいずれかが原因ではなかったものは削除されます。

リダイレクション


コマンドが実行される前に、その入力と出力は次のようになります。 リダイレクト 特別なを使用して
シェルによって解釈される表記。 リダイレクションにより、コマンドのファイルハンドルを
複製、オープン、クローズ、別のファイルを参照するように作成され、ファイルを変更できます
コマンドは、読み取りと書き込みを行います。 リダイレクトを使用して、ファイルハンドルを変更することもできます。
現在のシェル実行環境。 次のリダイレクト演算子が先行する場合があります
または内のどこかに表示されます シンプルな command または続く可能性があります command。 リダイレクトは
左から右に、表示されている順序で処理されます。

ファイル記述子番号が前に付く可能性のある各リダイレクトは、代わりに先行される可能性があります
{の形式の単語によって変数名}。 この場合、>&-を除くリダイレ​​クト演算子ごとに
および<&-の場合、シェルは10以上のファイル記述子を割り当てて割り当てます
それに 変数名。 >&-または<&-の前に{が付いている場合変数名}、の値 変数名 を定義します
閉じるファイル記述子。

以下の説明では、ファイル記述子番号が省略されている場合、最初の
リダイレクト演算子の文字は <、リダイレクトは標準入力を参照します
(ファイル記述子0)。 リダイレクト演算子の最初の文字が >
リダイレクションは、標準出力(ファイル記述子1)を参照します。

以下の説明でリダイレクト演算子に続く単語は、
特に明記されていない場合、ブレース拡張、チルダ拡張、パラメータおよび変数の対象となります
拡張、コマンド置換、算術拡張、引用符の削除、パス名の拡張、
と単語の分割。 複数の単語に展開する場合は、 bash エラーを報告します。

リダイレクトの順序が重要であることに注意してください。 たとえば、コマンド

ls > ダーリスト 2>&1

標準出力と標準エラーの両方をファイルに送信します ディレクトリリスト、コマンド中

2>&1 > ディレクトリリスト

標準出力のみをファイルに送信します ディレクトリリスト、標準誤差が
標準出力がにリダイレクトされる前に、標準出力から複製されました ディレクトリリスト.

Bash 説明されているように、リダイレクトで使用される場合は特に、いくつかのファイル名を処理します
次の表:

/ dev / fd /fd
If fd 有効な整数、ファイル記述子です fd 重複しています。
/ dev / stdin
ファイル記述子0が複製されます。
/ dev / stdout
ファイル記述子1が複製されます。
/ dev / stderr
ファイル記述子2が複製されます。
/ dev / tcp /host/ポート
If host は有効なホスト名またはインターネットアドレスであり、 ポート 整数ポートです
番号またはサービス名、 bash 対応するTCPソケットを開こうとします。
/ dev / udp /host/ポート
If host は有効なホスト名またはインターネットアドレスであり、 ポート 整数ポートです
番号またはサービス名、 bash 対応するUDPソケットを開こうとします。

ファイルのオープンまたは作成に失敗すると、リダイレクトが失敗します。

9より大きいファイル記述子を使用するリダイレクトは、注意して使用する必要があります。
シェルが内部で使用するファイル記述子と競合します。

なお、 exec 組み込みコマンドを使用すると、現在のシェルでリダイレクトを有効にすることができます。

リダイレクト 入力
入力をリダイレクトすると、名前が 単語 ようにするには
ファイル記述子を読み取るために開かれました n、または標準入力(ファイル記述子0)の場合 n is
指定されていない。

入力をリダイレクトするための一般的な形式は次のとおりです。

[n]<単語

リダイレクト 出力
出力をリダイレクトすると、名前が 単語 ようにするには
ファイル記述子への書き込み用に開かれました n、または標準出力(ファイル記述子1)の場合 n
指定されていません。 ファイルが存在しない場合は作成されます。 それが存在する場合、それは
ゼロサイズに切り捨てられます。

出力をリダイレクトするための一般的な形式は次のとおりです。

[n]>単語

リダイレクション演算子が >、 そしてその ノークロバー オプションを セッションに ビルトインされています
有効にすると、名前が
単語 存在し、通常のファイルです。 リダイレクション演算子が >|、またはリダイレクト
オペレーターは >ノークロバー オプションを セッションに 組み込みコマンドが有効になっていない場合、
によって名前が付けられたファイルであっても、リダイレクトが試行されます 単語 存在しています。

追加 リダイレクト 出力
この方法で出力をリダイレクトすると、名前が
の拡大 単語 ファイル記述子に追加するために開かれます n、または標準出力
(ファイル記述子1)if n 指定されていません。 ファイルが存在しない場合は作成されます。

出力を追加するための一般的な形式は次のとおりです。

[n]>>単語

リダイレクト スタンダード 出力 & スタンダード エラー
この構成により、標準出力(ファイル記述子1)と標準エラーの両方が可能になります
名前が展開であるファイルにリダイレクトされる出力(ファイル記述子2)
単語.

標準出力と標準エラーをリダイレクトするには、次のXNUMXつの形式があります。

&>単語
&
>&単語

XNUMXつの形式のうち、最初の形式が優先されます。 これは意味的には同等です

>単語 2>&1

XNUMX番目のフォームを使用する場合、 単語 数に拡張できないか、 -。 もしそうなら、他
リダイレクト演算子が適用されます(を参照) 複製しています File 記述子 以下)互換性のため
理由。

追加 スタンダード 出力 & スタンダード エラー
この構成により、標準出力(ファイル記述子1)と標準エラーの両方が可能になります
名前が展開であるファイルに追加される出力(ファイル記述子2) 単語.

標準出力と標準エラーを追加するための形式は次のとおりです。

&>>単語

これは意味的には同等です

>>単語 2>&1

(参照してください 複製しています File 記述子 下)。

ここに 資料
このタイプのリダイレクトは、シェルに現在のソースからの入力を読み取るように指示します。
のみを含む行 区切り文字 (末尾の空白なし)が表示されます。 読んだすべての行
その時点までは、コマンドの標準入力として使用されます。

ヒアドキュメントの形式は次のとおりです。

<<[-]単語
ヒアドキュメント
区切り文字

パラメータおよび変数の展開、コマンド置換、算術展開、または
パス名の展開は 単語。 の文字がある場合 単語 引用されている、
区切り文字 上の引用符の削除の結果です 単語、およびヒアドキュメントの行は
拡張されていません。 もしも 単語 引用符で囲まれていない場合、ヒアドキュメントのすべての行が対象になります
パラメータ拡張、コマンド置換、および算術拡張、文字
シーケンス \ 無視され、 \ 文字を引用するには使用する必要があります \, $, `.

リダイレクション演算子が <<-、その後、すべての先頭のタブ文字が削除されます
入力行とを含む行 区切り文字。 これにより、ヒアドキュメントが可能になります-シェル内のドキュメント
自然な方法でインデントされるスクリプト。

ここに
ヒアドキュメントの変形であり、形式は次のとおりです。

<<単語

  単語 ブレース拡張、チルダ拡張、パラメータおよび変数拡張を実行し、
コマンド置換、算術展開、および引用符の削除。 パス名の展開と
単語分割は実行されません。 結果は単一の文字列として
標準入力のコマンド。

複製しています File 記述子
リダイレクト演算子

[n]<&単語

入力ファイル記述子を複製するために使用されます。 もしも 単語 XNUMX桁以上に展開され、
で示されるファイル記述子 n そのファイル記述子のコピーになります。 数字の場合
in 単語 入力用に開いているファイル記述子を指定しないでください。リダイレクトエラーが発生します。 もしも
単語 評価する -、ファイル記述子 n 閉じています。 もしも n 指定されていない、標準
input(ファイル記述子0)が使用されます。

オペレーター

[n]>&単語

同様に、出力ファイル記述子を複製するために使用されます。 もしも n 指定されていない場合、
標準出力(ファイル記述子1)が使用されます。 の数字が 単語 ファイルを指定しないでください
記述子が出力用に開いていると、リダイレクトエラーが発生します。 もしも 単語 評価する -、ファイル
ディスクリプタ n 閉じています。 特別な場合として、 n 省略され、 単語 に拡張されません
XNUMX桁以上または -、標準出力と標準エラーは次のようにリダイレクトされます
前に説明しました。

移動する File 記述子
リダイレクト演算子

[n]<&-

ファイル記述子を移動します ファイル記述子へ n、または標準入力(ファイル
記述子0)if n 指定されていません。 に複製された後に閉じられます n.

同様に、リダイレクト演算子

[n]>&-

ファイル記述子を移動します ファイル記述子へ n、または標準出力(ファイル
記述子1)if n 指定されていません。

オープニング File 記述子 for リーディング & 書き込み
リダイレクト演算子

[n]<>単語

名前がの展開であるファイルを引き起こします 単語 読書と読書の両方のために開かれます
ファイル記述子への書き込み n、またはファイル記述子0の場合 n 指定されていません。 ファイルの場合
存在しない、作成されます。

エイリアス


エイリアス 文字列が単語の最初の単語として使用されるときに、その単語の代わりに文字列を使用できるようにする
簡単なコマンド。 シェルは、で設定および設定解除できるエイリアスのリストを維持します。
alias & エイリアス 組み込みコマンド(を参照) SHELL ビルティン コマンド 下)。 の最初の言葉
引用符で囲まれていない場合、各単純なコマンドは、エイリアスがあるかどうかを確認するためにチェックされます。 もしそうなら、その言葉
エイリアスのテキストに置き換えられます。 キャラクター /, $, `, = とシェルのいずれか
メタキャラクター または、上記の引用符はエイリアス名に表示されない場合があります。 The
置換テキストには、シェルのメタ文字を含む、有効なシェル入力を含めることができます。 The
置換テキストの最初の単語はエイリアスについてテストされますが、
展開されるエイリアスは、XNUMX回目に展開されません。 これは、エイリアスを作成できることを意味します ls
〜へ ls -F、たとえば、 bash 置換テキストを再帰的に展開しようとはしません。
エイリアス値の最後の文字が ブランク、次に次のコマンドワード
エイリアスは、エイリアス拡張についてもチェックされます。

エイリアスが作成され、 alias コマンド、およびで削除 エイリアス


置換テキストで引数を使用するメカニズムはありません。 引数が
必要に応じて、シェル関数を使用する必要があります(を参照) 関数 下)。

シェルがインタラクティブでない場合、エイリアスは展開されません。 Expand_aliases
シェルオプションはを使用して設定されます 買い物 (の説明を参照してください 買い物SHELL ビルティン コマンド
下)。

エイリアスの定義と使用に関する規則は、やや混乱を招きます。 Bash
上のコマンドを実行する前に、常に少なくともXNUMX行の入力を読み取ります。
その行。 エイリアスは、コマンドの実行時ではなく、コマンドの読み取り時に展開されます。
したがって、別のコマンドと同じ行に表示されるエイリアス定義は使用されません
入力の次の行が読み取られるまで効果があります。 エイリアス定義に続くコマンド
その行のは、新しいエイリアスの影響を受けません。 この動作は、次の場合にも問題になります
関数が実行されます。 エイリアスは、関数定義が読み取られるときに展開されます。
関数定義自体が複合コマンドであるため、関数が実行されます。 として
結果として、関数で定義されたエイリアスは、その関数が終了するまで使用できません。
実行されます。 安全のため、エイリアス定義は常に別の行に配置し、使用しないでください
alias 複合コマンドで。

ほとんどすべての目的で、エイリアスはシェル関数に置き換えられます。

関数


上記のように定義されたシェル関数 SHELL 文法、一連の
後で実行するためのコマンド。 シェル関数の名前を単純なものとして使用する場合
コマンド名、その関数名に関連付けられているコマンドのリストが実行されます。
関数は、現在のシェルのコンテキストで実行されます。 新しいプロセスは作成されません
それらを解釈します(これをシェルスクリプトの実行と比較してください)。 関数が
実行されると、関数への引数は、その間に位置パラメータになります
実行。 特別なパラメータ # 変更を反映するように更新されます。 特別なパラメータ 0
変更されていません。 の最初の要素 機能名 変数はの名前に設定されます
関数の実行中に関数。

シェル実行環境の他のすべての側面は、関数と
これらの例外を除いて、その呼び出し元: DEBUG & リターン トラップ(の説明を参照してください
トラップ ビルトインアンダー SHELL ビルティン コマンド 以下)関数が持っていない限り継承されません
与えられた トレース 属性(の説明を参照してください 宣言する 以下に組み込まれています)または
-o 関数トレース シェルオプションが有効になっている セッションに ビルトイン(この場合はすべて
関数は継承します DEBUG & リターン トラップ)、および ERR トラップは継承されない限り継承されません
  -o エラートレース シェルオプションが有効になっています。

関数にローカルな変数は、次のように宣言できます。 ローカル 組み込みコマンド。
通常、変数とその値は関数とその呼び出し元の間で共有されます。

  ファンネスト 変数は、0より大きい数値に設定されている場合、最大値を定義します
関数のネストレベル。 制限を超える関数呼び出しは、全体を引き起こします
中止するコマンド。

組み込みコマンドの場合 return 関数で実行されると、関数は完了し、
関数呼び出し後、次のコマンドで実行を再開します。 関連するコマンド
リターン トラップは、実行が再開される前に実行されます。 関数が完了すると、
位置パラメータと特殊パラメータの値 # 値に復元されます
それらは関数の実行前に持っていました。

関数名と定義は、 -f オプションを 宣言する or タイプセット
組み込みコマンド。 The -F オプション 宣言する or タイプセット 関数名のみが一覧表示されます
(オプションで、ソースファイルと行番号( 拡張デバッグ シェルオプションが有効になっています)。
関数をエクスポートして、サブシェルで関数を自動的に定義することができます。 -f
オプションを export ビルトイン。 関数定義は、を使用して削除できます。 -f オプション
  unset ビルトイン。 同じ名前のシェル関数と変数が結果として生じる可能性があることに注意してください
シェルの子に渡される環境内の同じ名前の複数のエントリ。
これにより問題が発生する可能性がある場合は注意が必要です。

関数は再帰的である可能性があります。 The ファンネスト 変数は、の深さを制限するために使用できます
関数呼び出しスタックと関数呼び出しの数を制限します。 デフォルトでは、制限はありません
再帰呼び出しの数に課せられます。

算術 評価


シェルを使用すると、特定の状況下で算術式を評価できます(を参照)。
  & 宣言する 組み込みコマンドと 算術 拡張)。 評価はで行われます
0による除算がトラップされ、オーバーフローがチェックされない固定幅の整数
エラーとしてフラグが立てられます。 演算子とその優先順位、結合性、および値は次のとおりです。
C言語と同じです。 次の演算子のリストは、次のレベルにグループ化されています。
等優先順位演算子。 レベルは優先度の高い順にリストされています。

id++ id--
可変ポストインクリメントおよびポストデクリメント
++id --id
可変の事前インクリメントおよび事前デクリメント
- + 単項マイナスとプラス
! ~ 論理的およびビット単位の否定
** べき乗
* / % 乗算、除算、剰余
+ - 足し算、引き算
<< >> 左右のビット単位のシフト
<= >= < >
比較
== != 平等と不平等
& ビットごとのAND
^ ビット単位の排他的論理和
| ビットごとのOR
&& 論理AND
|| 論理OR
?:
条件演算子
= *= /= %= += -= << = >> = &= ^= |=
割り当て
式1 , 式2
コンマ

シェル変数はオペランドとして使用できます。 パラメータ展開は、
式が評価されます。 式内では、シェル変数は次のように参照することもできます。
パラメータ展開構文を使用せずに名前を付けます。 nullまたは未設定のシェル変数
パラメータ展開構文を使用せずに名前で参照すると、0と評価されます。 The
変数の値は、参照されるときに算術式として評価されます。
与えられた変数が 整数 属性を使用して 宣言する -i が割り当てられています
価値。 null値は0と評価されます。シェル変数は 整数 属性を使用する。
式で使用するためにオンになりました。

先頭に0が付いている定数は、0進数として解釈されます。 先頭の0xまたはXNUMXXは
XNUMX進数。 それ以外の場合、数値は[ベース#] n、ここでオプション ベース  
算術ベースを表す2から64までのXNUMX進数、および n の番号です
そのベース。 もしも ベース# を省略した場合は、10進数が使用されます。 指定する場合 n、数字
9より大きい<は、小文字、大文字、@、および_で表されます。
その順序で。 もしも ベース 36以下の場合、小文字と大文字は
10から35までの数字を表すために交換可能に使用されます。

演算子は優先順位の順に評価されます。 括弧内の部分式は次のとおりです。
最初に評価され、上記の優先順位ルールを上書きする場合があります。

条件付き 表現


条件式は、によって使用されます [[ 複合コマンドと test & [ ビルトイン
ファイル属性をテストし、文字列と算術の比較を実行するコマンド。
式は、次の単項またはバイナリのプライマリから形成されます。 もしあれば file 引数
プライマリのXNUMXつへの形式は / dev / fd / n、次にファイル記述子 n チェックされます。 場合
  file 予備選挙のXNUMXつに対する議論は / dev / stdin, / dev / stdoutまたは
/ dev / stderr、ファイル記述子0、1、または2がそれぞれチェックされます。

特に指定がない限り、ファイルを操作するプライマリはシンボリックリンクをたどります。
リンク自体ではなく、リンクのターゲットを操作します。

と一緒に使用する場合 [[ < & > 演算子は、現在のロケールを使用して辞書式に並べ替えます。
  test コマンドはASCII順序を使用してソートします。

-a file
Trueの場合 file 存在しています。
-b file
Trueの場合 file 存在し、ブロック特殊ファイルです。
-c file
Trueの場合 file 存在し、文字特殊ファイルです。
-d file
Trueの場合 file 存在し、ディレクトリです。
-e file
Trueの場合 file 存在しています。
-f file
Trueの場合 file 存在し、通常のファイルです。
-g file
Trueの場合 file 存在し、set-group-idです。
-h file
Trueの場合 file 存在し、シンボリックリンクです。
-k file
Trueの場合 file 存在し、その「スティッキー」ビットが設定されています。
-p file
Trueの場合 file 存在し、名前付きパイプ(FIFO)です。
-r file
Trueの場合 file 存在し、読み取り可能です。
-s file
Trueの場合 file 存在し、サイズがゼロより大きい。
-t fd ファイル記述子の場合はTrue fd 開いており、端末を指します。
-u file
Trueの場合 file 存在し、そのset-user-idビットが設定されます。
-w file
Trueの場合 file 存在し、書き込み可能です。
-x file
Trueの場合 file 存在し、実行可能です。
-G file
Trueの場合 file 存在し、有効なグループIDによって所有されます。
-L file
Trueの場合 file 存在し、シンボリックリンクです。
-N file
Trueの場合 file 存在し、最後に読み取られてから変更されています。
-O file
Trueの場合 file 存在し、有効なユーザーIDによって所有されます。
-S file
Trueの場合 file 存在し、ソケットです。
file1 -もしも file2
Trueの場合 file1 & file2 同じデバイスとiノード番号を参照してください。
file1 -nt file2
Trueの場合 file1 (変更日による)より新しい file2、またはif file1
存在し、 file2 ではない。
file1 -ot file2
Trueの場合 file1 より古い file2、またはif file2 存在し、 file1 ではない。
-o オプトネーム
シェルオプションの場合はTrue オプトネーム 有効になっています。 下のオプションのリストを参照してください
の説明 -o オプションを セッションに 以下に組み込まれています。
-v 変数名
シェル変数の場合はTrue 変数名 が設定されています(値が割り当てられています)。
-R 変数名
シェル変数の場合はTrue 変数名 が設定され、名前の参照です。
-z 文字列
の長さが 文字列 ゼロです。
文字列
-n 文字列
の長さが 文字列 ゼロ以外です。

string1 == string2
string1 = string2
文字列が等しい場合はTrue。 = と一緒に使用する必要があります test POSIXのコマンド
適合性。 と一緒に使用する場合 [[ コマンド、これはパターンマッチングを実行します
上記( コマンド).

string1 != string2
文字列が等しくない場合はTrue。

string1 < string2
Trueの場合 string1 前に並べ替え string2 辞書式順序で。

string1 > string2
Trueの場合 string1 並べ替え string2 辞書式順序で。

arg1 OP arg2
OP の一つである -eq, ネオン, -lt, -LE, -gtまたは -与える。 これらの算術二項演算子
次の場合にtrueを返します arg1 等しい、等しくない、より小さい、以下、
以上、または以上 arg2それぞれ。 arg1 & arg2 多分
正または負の整数。

SIMPLE COMMAND 拡張


単純なコマンドを実行すると、シェルは次の展開を実行します。
左から右への割り当てとリダイレクト。

1.パーサーが変数割り当てとしてマークした単語(
コマンド名)とリダイレクトは、後で処理するために保存されます。

2.変数の割り当てまたはリダイレクトではない単語が展開されます。 もしあれば
単語は展開後も残り、最初の単語はコマンドの名前と見なされます
残りの単語は引数です。

3.リダイレクトは上記のように実行されます。 リダイレクション.

4.後のテキスト = 各変数の割り当てでは、チルダ拡張が行われます。
パラメータ展開、コマンド置換、算術展開、および引用符の削除
変数に割り当てられる前。

コマンド名が表示されない場合、変数の割り当ては現在のシェル環境に影響します。
それ以外の場合、変数は実行されたコマンドの環境に追加され、追加されません。
現在のシェル環境に影響します。 割り当てのいずれかが割り当てを試みる場合
読み取り専用変数の値、エラーが発生し、コマンドがゼロ以外で終了する
状態。

コマンド名が表示されない場合、リダイレクトは実行されますが、現在の名前には影響しません
シェル環境。 リダイレクションエラーにより、コマンドはゼロ以外のステータスで終了します。

拡張後にコマンド名が残っている場合は、以下のように実行されます。
それ以外の場合、コマンドは終了します。 拡張のXNUMXつにコマンド置換が含まれている場合、
コマンドの終了ステータスは、最後のコマンド置換の終了ステータスです。
実行されます。 コマンドの置換がなかった場合、コマンドは次のステータスで終了します。
ゼロ。

COMMAND 実行


コマンドが単語に分割された後、それが単純なコマンドと
オプションの引数リストの場合、次のアクションが実行されます。

コマンド名にスラッシュが含まれていない場合、シェルはそれを見つけようとします。 存在する場合
その名前のシェル関数、その関数は上記のように呼び出されます 関数.
名前が関数と一致しない場合、シェルはシェルのリストでその名前を検索します
ビルトイン。 一致するものが見つかると、そのビルトインが呼び出されます。

名前がシェル関数でもビルトインでもなく、スラッシュが含まれていない場合、 bash
の各要素を検索します パス それによる実行可能ファイルを含むディレクトリの場合
名前。 Bash ハッシュテーブルを使用して、実行可能ファイルのフルパス名を記憶します(を参照)。 ハッシュ
SHELL ビルティン コマンド 下)。 のディレクトリの完全検索 パス is
コマンドがハッシュテーブルに見つからない場合にのみ実行されます。 検索が
失敗した場合、シェルは次の名前の定義済みシェル関数を検索します
command_not_found_handle。 その関数が存在する場合は、元の関数で呼び出されます
コマンドとその引数としての元のコマンドの引数、および関数の終了
statusは、シェルの終了ステータスになります。 その関数が定義されていない場合、シェル
エラーメッセージを出力し、終了ステータス127を返します。

検索が成功した場合、またはコマンド名にXNUMXつ以上のスラッシュが含まれている場合は、
シェルは、指定されたプログラムを別の実行環境で実行します。 引数0が設定されています
与えられた名前に、コマンドの残りの引数は引数に設定されます
もしあれば、与えられます。

ファイルが実行可能形式ではなく、ファイルが実行可能形式ではないためにこの実行が失敗した場合
ディレクトリ、それはであると想定されます shell スクリプト、シェルコマンドを含むファイル。 A
サブシェルはそれを実行するために生成されます。 このサブシェルはそれ自体を再初期化するため、
スクリプトを処理するために新しいシェルが呼び出されたかのようですが、
親が記憶しているコマンドの場所(を参照) ハッシュ 下の SHELL ビルティン
コマンド)は子によって保持されます。

プログラムがで始まるファイルの場合 #!、最初の行の残りの部分は、
プログラムの通訳。 シェルは、操作時に指定されたインタプリタを実行します
この実行可能フォーマット自体を処理しないシステム。 への引数
インタプリタは、のインタプリタ名に続く単一のオプションの引数で構成されます
プログラムの最初の行、プログラムの名前、コマンドの順に続く
引数がある場合。

COMMAND 実行 ENVIRONMENT


シェルには 実行 環境、これは次のもので構成されます。

・リダイレクトによって変更された、呼び出し時にシェルによって継承されたファイルを開く
に供給 exec ビルトイン

・によって設定された現在の作業ディレクトリ cd, pushdはまたは popdを、またはによって継承されます
呼び出し時のシェル

・によって設定されたファイル作成モードマスク umask またはシェルの親から継承

・によって設定された現在のトラップ トラップ

・変数の割り当てまたはで設定されるシェルパラメータ セッションに またはから継承
環境内のシェルの親

・実行中に定義された、またはシェルの親から継承されたシェル関数
環境

・呼び出し時に有効になっているオプション(デフォルトまたはコマンドライン引数を使用)または
by セッションに

・によって有効にされるオプション 買い物

・で定義されたシェルエイリアス alias

・バックグラウンドジョブのIDを含むさまざまなプロセスID、 $$、 そしてその
の値 PPID

ビルトインやシェル機能以外の簡単なコマンドを実行する場合は、
以下で構成される別の実行環境で呼び出されます。 そうでもなければ
特に明記されていない限り、値はシェルから継承されます。

・シェルの開いているファイル、およびによって指定された変更と追加
コマンドへのリダイレクト

・現在の作業ディレクトリ

・ファイル作成モードマスク

・シェル変数とエクスポート用にマークされた関数、およびエクスポート用にエクスポートされた変数
環境で渡されたコマンド

・シェルによってキャッチされたトラップは、シェルから継承された値にリセットされます
親、およびシェルによって無視されたトラップは無視されます

この別の環境で呼び出されたコマンドは、シェルの実行に影響を与えることはできません
環境。

コマンド置換、括弧でグループ化されたコマンド、および非同期コマンドは次のとおりです。
シェル環境の複製であるサブシェル環境で呼び出されます。
シェルによってキャッチされたトラップは、シェルが継承した値にリセットされます
呼び出し時の親。 パイプラインの一部として呼び出される組み込みコマンドも
サブシェル環境で実行されます。 サブシェル環境に加えられた変更はできません
シェルの実行環境に影響を与えます。

コマンド置換を実行するために生成されたサブシェルは、 -e からのオプション
親シェル。 いないとき POSIX モード、 bash クリアします -e そのようなサブシェルのオプション。

コマンドの後に & デフォルトの標準入力であるジョブ制御はアクティブではありません
コマンドは空のファイルです / dev / null。 それ以外の場合、呼び出されたコマンドは
リダイレクトによって変更された呼び出し元シェルのファイル記述子。

ENVIRONMENT


プログラムが呼び出されると、と呼ばれる文字列の配列が与えられます。 環境。 これは
のリスト - ペア、形式の =.

シェルは、環境を操作するためのいくつかの方法を提供します。 呼び出し時に、シェル
独自の環境をスキャンし、見つかった名前ごとにパラメータを自動的に作成します
のためにそれをマークする export 子プロセスに。 実行されたコマンドは環境を継承します。 ザ
export & 宣言する -x コマンドを使用すると、パラメータと関数を追加および削除できます
環境から。 環境内のパラメータの値が変更された場合、新しい
値は環境の一部になり、古いものを置き換えます。 継承される環境
実行されるコマンドは、シェルの初期環境で構成され、その値は次のようになります。
シェルで変更され、によって削除されたペアは少なくなります unset コマンドに加えて、
  export & 宣言する -x コマンド。

あらゆる環境 シンプルな command または機能が一時的に増強される可能性があります
上記のように、パラメータの割り当てを前に付けます。 パラメーター。 これら
割り当てステートメントは、そのコマンドによって認識される環境にのみ影響します。

Status -k オプションが設定されています( セッションに 以下の組み込みコマンド)、次に パラメーター
割り当ては、コマンドの前にあるものだけでなく、コマンドの環境に配置されます。
コマンド名。

日時 bash 外部コマンド、変数を呼び出します _ の完全なファイル名に設定されます
コマンドを実行し、その環境でそのコマンドに渡します。

EXIT ステータス


実行されたコマンドの終了ステータスは、 待ってください システムコールまたは
同等の機能。 終了ステータスは0から255の間にありますが、以下で説明するように、
シェルは特に125を超える値を使用する場合があります。 シェルビルトインのステータスを終了し、
複合コマンドもこの範囲に制限されます。 特定の状況下では、シェル
特定の障害モードを示すために特別な値を使用します。

シェルの目的のために、ゼロ終了ステータスで終了するコマンドが成功しました。 アン
ゼロの終了ステータスは成功を示します。 ゼロ以外の終了ステータスは、失敗を示します。 いつ
コマンドは致命的な信号で終了します N, bash 128+の値を使用しますN 終了ステータスとして。

コマンドが見つからない場合、コマンドを実行するために作成された子プロセスは、次のステータスを返します。
127.コマンドが見つかったが実行可能でない場合、戻りステータスは126です。

拡張またはリダイレクト中にエラーが発生したためにコマンドが失敗した場合、終了ステータスは次のようになります。
ゼロより大きい。

シェルビルトインコマンドはステータス0を返します(true)成功した​​場合、ゼロ以外(false)場合
実行中にエラーが発生します。 すべてのビルトインは、終了ステータス2を返します。
誤った使用法。

Bash 構文エラーがない限り、それ自体が最後に実行されたコマンドの終了ステータスを返します。
発生します。この場合、ゼロ以外の値で終了します。 も参照してください 終了する 組み込みコマンド
を参照してください。

信号


日時 bash インタラクティブであり、トラップがない場合は無視されます シグターム (そのため kill 0
インタラクティブシェルを強制終了しません)、および SIGINT キャッチされて処理されます( wait
ビルトインは割り込み可能です)。 すべての場合において、 bash 無視する そんなに。 ジョブ制御が行われている場合
効果、 bash 無視する シグティン, シグトゥウ, SIGTSTP.

によって実行される非組み込みコマンド bash シグナルハンドラーを、によって継承された値に設定します
親からのシェル。 ジョブ制御が有効になっていない場合、非同期コマンドは無視します
SIGINT & そんなに これらの継承されたハンドラーに加えて。 次の結果として実行されるコマンド
コマンド置換は、キーボードで生成されたジョブ制御信号を無視します シグティン, シグトゥウ,
& SIGTSTP.

シェルは、デフォルトで受信すると終了します シグアップ。 終了する前に、インタラクティブシェル
を再送します シグアップ 実行中または停止中のすべてのジョブに。 停止したジョブが送信されます シグコント 〜へ
彼らが受け取ることを確認してください シグアップ。 シェルが信号をに送信しないようにするには
特定のジョブ、それはジョブテーブルから削除する必要があります 勘当します ビルトイン(を参照)
SHELL ビルティン コマンド 以下)または受信しないようにマークされています シグアップ 勘当します -h.

Status ヒューポエグジット シェルオプションが設定されています 買い物, bash を送信します シグアップ すべての仕事に
対話型ログインシェルが終了したとき。

If bash コマンドが完了するのを待っており、トラップが持っている信号を受信します
が設定されている場合、コマンドが完了するまでトラップは実行されません。 いつ bash が待っています
を介した非同期コマンドの場合 wait ビルトイン、信号の受信
トラップが設定されていると、 wait 終了ステータスですぐに戻るための組み込み
128より大きい場合、その直後にトラップが実行されます。

仕事 CONTROL


ジョブ コントロール 選択的に停止する機能を指します(サスペンド)プロセスの実行
続行します(履歴書)後の時点での実行。 ユーザーは通常これを使用します
オペレーティングシステムカーネルが共同で提供するインタラクティブインターフェイスを介した機能
ターミナルドライバーと bash.

シェルは ジョブ 各パイプラインで。 現在実行中のテーブルを保持します
と一緒にリストされる可能性のあるジョブ jobs 指図。 いつ bash 非同期でジョブを開始します
(の中に 背景)、次のような行を印刷します。

[1] 25647

このジョブがジョブ番号1であり、最後のプロセスのプロセスIDが
このジョブに関連付けられているパイプラインは25647です。単一のパイプライン内のすべてのプロセス
同じ仕事のメンバーです。 Bash 使用 ジョブ ジョブ制御の基礎としての抽象化。

ジョブ制御へのユーザーインターフェイスの実装を容易にするために、
システムは、 現在 ターミナル プロセス グループヘッド ID。 このメンバー
プロセスグループ(プロセスグループIDが現在のターミナルプロセスと等しいプロセス
グループID)は、次のようなキーボード生成信号を受信します SIGINT。 これらのプロセスは
にいる フォアグラウンド. 経歴 プロセスとは、プロセスグループIDが異なるプロセスです。
ターミナルの; このようなプロセスは、キーボードで生成された信号の影響を受けません。 前景のみ
プロセスは、読み取りを許可されます。または、ユーザーがstty tostopで指定した場合は、書き込みを許可されます。
ターミナル。 読み取りを試みるバックグラウンドプロセス(sttyが停止するときに書き込む)
有効です)端末は送信されます シグティン (SIGTTOU) カーネルの端末による信号
ドライバー。キャッチされない限り、プロセスを一時停止します。

オペレーティングシステムが bash 実行中はジョブ制御をサポートし、 bash 含まれています
それを使用するための設備。 入力する サスペンド 文字(通常は ^Z、Control-Z)ながら
プロセスが実行されていると、そのプロセスが停止し、制御がに戻ります。 bash。 タイピング
  遅延 サスペンド 文字(通常は ^Y、Control-Y)により、プロセスが停止します
端末からの入力を読み込もうとしたとき、および制御を bashを選択します。
次に、ユーザーは、を使用してこのジョブの状態を操作できます。 bg でそれを続行するコマンド
背景、 fg フォアグラウンドで続行するコマンド、または kill 殺すコマンド
それ。 あ ^Z すぐに有効になり、保留を引き起こすという追加の副作用があります
出力と先行入力は破棄されます。

シェルでジョブを参照する方法はいくつかあります。 キャラクター % を紹介します
職務仕様書(ジョブスペック)。 ジョブ番号 n と呼ばれることがあります %n。 仕事もかもしれません
開始に使用された名前のプレフィックスを使用するか、表示されるサブストリングを使用して参照されます
コマンドラインで。 例えば、 %ce 停止したことを指します ce 仕事。 プレフィックスが一致する場合
複数の仕事、 bash エラーを報告します。 使用する %?ce一方、は、
文字列を含むジョブ ce コマンドラインで。 サブストリングが複数一致する場合
仕事、 bash エラーを報告します。 シンボル %% & %+ シェルの概念を参照してください
現在 ジョブ、これは、フォアグラウンドにあるか、で開始されたときに停止した最後のジョブです。
背景。 The ジョブ を使用して参照できます %-。 シングルしかない場合
仕事、 %+ & %- 両方を使用して、そのジョブを参照できます。 ジョブに関連する出力(例:
の出力 jobs コマンド)、現在のジョブには常にフラグが付けられます +、 そしてその
前の仕事と -。 単一の%(付随する職務仕様書なし)も参照します
現在の仕事。

ジョブに名前を付けるだけで、ジョブを前面に表示できます。 %1 の同義語です 「fg
%1''、ジョブ1をバックグラウンドからフォアグラウンドに移動します。 同様に、 ``%1 &'' 再開され
バックグラウンドでのジョブ1、同等 「bg %1''.

シェルは、ジョブの状態が変わるとすぐに学習します。 通常は、 bash それまで待つ
ジョブのステータスの変更を報告する前にプロンプ​​トを出力しようとしています。
他の出力を中断します。 の場合 -b オプションを セッションに 組み込みコマンドが有効になっている、 bash
そのような変更をすぐに報告します。 上のトラップ シグヒルド 子ごとに実行されます
終了します。

終了しようとした場合 bash ジョブが停止している間に作成されます(または、 チェックジョブ shell
オプションは、を使用して有効になっています 買い物 組み込み、実行中)、シェルは警告を出力します
メッセージ、および、 チェックジョブ オプションが有効になっていると、ジョブとそのステータスが一覧表示されます。 ザ
jobs 次に、コマンドを使用してそれらのステータスを検査できます。 XNUMX回目の終了の試みが
介在するコマンドなしで作成された場合、シェルは別の警告を出力しません。
停止したジョブは終了します。

プロンプト


インタラクティブに実行する場合、 bash プライマリプロンプトを表示します PS1 準備ができたら
コマンドを読み、二次プロンプト PS2 完了するためにより多くの入力が必要な場合
Bash いくつかのプロンプト文字列を挿入して、これらのプロンプト文字列をカスタマイズできます
次のようにデコードされるバックスラッシュでエスケープされた特殊文字:
\a ASCIIベル文字(07)
\d 「平日月日」形式の日付(例:「26月XNUMX日火曜日」)
\ D {形式でアーカイブしたプロジェクトを保存します.}
  形式でアーカイブしたプロジェクトを保存します. に渡されます ストラフタイム(3)そして結果はに挿入されます
プロンプト文字列; 空っぽ 形式でアーカイブしたプロジェクトを保存します. 結果はロケール固有の時間になります
表現。 中かっこが必要です
\e ASCIIエスケープ文字(033)
\h 最初の`。'までのホスト名
\H ホスト名
\j シェルによって現在管理されているジョブの数
\l シェルの端末デバイス名のベース名
\n 改行
\r キャリッジリターン
\s シェルの名前、のベース名 $0 (決勝に続く部分
スラッシュ)
\t 24時間制のHH:MM:SS形式の現在時刻
\T 12時間制のHH:MM:SS形式の現在時刻
\@ 12時間午前/午後形式の現在時刻
\A 24時間HH:MM形式の現在時刻
\u 現在のユーザーのユーザー名
\v のバージョン bash (例、2.00年)
\V のリリース bash、バージョン+パッチレベル(例:2.00.0)
\w 現在の作業ディレクトリ、 $ HOME チルダと略されます(
の値 PROMPT_DIRTRIM 変数)
\W 現在の作業ディレクトリのベース名。 $ HOME 略して
チルダ
\! このコマンドの履歴番号
\# このコマンドのコマンド番号
\$ 有効なUIDが0の場合、 #、それ以外の場合 $
\NNN XNUMX進数に対応する文字 NNN
\\ バックスラッシュ
\[ 印刷されない文字のシーケンスを開始します。これを使用して、
プロンプトへの端末制御シーケンス
\] 印刷されない文字のシーケンスを終了します

コマンド番号と履歴番号は通常異なります。
コマンドは履歴リスト内の位置であり、コマンドは履歴リストから復元されたコマンドを含む場合があります。
履歴ファイル(を参照) 歴史 以下)、コマンド番号はシーケンス内の位置です
現在のシェルセッション中に実行されたコマンドの数。 文字列がデコードされた後、
パラメータ拡張、コマンド置換、算術拡張、および引用によって拡張
の値に応じて、削除 プロンプト変数 シェルオプション(の説明を参照してください
買い物 下のコマンド SHELL ビルティン コマンド 下)。

読み込まれた行


これは、インタラクティブシェルを使用するときに入力の読み取りを処理するライブラリです。
--編集なし オプションはシェルの呼び出し時に指定されます。 行編集は、を使用するときにも使用されます
-e オプションを read ビルトイン。 デフォルトでは、行編集コマンドはそれらに似ています
Emacsの。 viスタイルのライン編集インターフェースも利用できます。 行編集は
を使用していつでも有効にする -o エマックス or -o vi へのオプション セッションに ビルトイン(を参照) SHELL
ビルティン コマンド 下)。 シェルの実行後にライン編集をオフにするには、 +o
エマックス or +o vi へのオプション セッションに 内蔵。

readlineの 表記法
このセクションでは、Emacsスタイルの表記法を使用してキーストロークを示します。 コントロールキーは
C-で示されるキーたとえば、CnはControl-Nを意味します。 同様に、 メタ キーはM-で示されますキー,
つまり、MxはMeta-Xを意味します。 (キーボードなし メタ キー、M-x ESCを意味します x、つまり、を押します
エスケープキー、次に x 鍵。 これにより、ESCは メタ 接頭辞。 組み合わせMC-x 手段
ESC-コントロール-x、またはEscキーを押してから、Ctrlキーを押しながら x
キー。)

リードラインコマンドには数値を指定できます 引数、通常は繰り返しカウントとして機能します。
ただし、重要なのは議論の兆候である場合もあります。 合格
順方向に作用するコマンドに対する否定的な引数(例: キルライン)原因
逆方向に動作するコマンド。 引数付きの動作を持つコマンド
これからの逸脱は以下に記載されています。

コマンドが次のように記述されている場合 殺害 テキスト、削除されたテキストは将来のために保存されます
検索(ヤンク)。 殺されたテキストはに保存されます kill リング。 連続キルは原因
一度にヤンクできるXNUMXつのユニットに蓄積されるテキスト。 コマンド
テキストをキルしないでくださいキルリング上のテキストのチャンクを分離します。

readlineの 初期化
Readlineは、コマンドを初期化ファイル( 入力rc ファイル)。
このファイルの名前は、 入力RC 変数。 その変数の場合
が設定されていない場合、デフォルトは 〜/ .inputrc。 readlineライブラリを使用するプログラムの場合
が起動し、初期化ファイルが読み取られ、キーバインディングと変数が設定されます。
readline初期化ファイルで許可されている基本的な構成はごくわずかです。 空欄
行は無視されます。 で始まる行 # コメントです。 で始まる行 $
条件付き構文を示します。 他の行は、キーバインディングと変数設定を示します。

デフォルトのキーバインディングは、 入力rc ファイル。 を使用する他のプログラム
このライブラリは、独自のコマンドとバインディングを追加する場合があります。

たとえば、配置

M-Control-u:ユニバーサル引数
or
C-Meta-u:普遍的な議論
入力rc MCuにreadlineコマンドを実行させます 普遍的な議論.

次の記号文字名が認識されます。 ラブアウト, THE, ESC, LFD, NEWLINE NEWLINE,
RET, リターン, SPC, SPACE, TAB.

コマンド名に加えて、readlineを使用すると、キーを次の文字列にバインドできます。
キーが押されたときに挿入されます(a マクロ).

readlineの キー バインディング
でキーバインディングを制御するための構文 入力rc ファイルは単純です。 それはすべてです
必要なのは、コマンドの名前またはマクロのテキストと、それが適用されるキーシーケンスです。
バインドする必要があります。 名前は、次のXNUMXつの方法のいずれかで指定できます。シンボリックキー名として、
おそらく メタ - or コントロール- プレフィックス、またはキーシーケンスとして。

フォームを使用する場合 キーネーム:関数名 or マクロ, キーネーム スペルト小麦のキーの名前です
英語で。 例えば:

Control-u:普遍的な議論
Meta-Rubout:backward-kill-word
Control-o:">出力"

上記の例では、 Cu 関数にバインドされています 普遍的な議論, M-デル にバインドされています
機能 バックワードキルワード, Co 右に表現されたマクロを実行するためにバインドされています
手側(つまり、テキスト「> output」を行に挿入します)。

XNUMX番目の形式では、 「keyseq」:関数名 or マクロ, キー配列 とは異なり キーネーム 上記の
キーシーケンス全体を示す文字列は、シーケンスを配置することで指定できます。
二重引用符で囲みます。 以下のように、いくつかのGNUEmacsスタイルのキーエスケープを使用できます
例ですが、シンボリック文字名は認識されません。

"\ Cu":ユニバーサル引数
"\ Cx \ Cr":re-read-init-file
"\ e [11〜":"ファンクションキー1"

この例では、 Cu 再び関数にバインドされます 普遍的な議論. Cx Cr 縛られている
機能へ 再読み込み初期化ファイル, ESC [ 1 1 ~ テキスト「関数」を挿入するためにバインドされています
キー1''。

GNUEmacsスタイルのエスケープシーケンスのフルセットは
\ C- コントロールプレフィックス
\ M- メタプレフィックス
\e エスケープ文字
\\ バックスラッシュ
\" 文字通りの"
\' 文字通り'

GNU Emacsスタイルのエスケープシーケンスに加えて、バックスラッシュエスケープのXNUMX番目のセットは
入手可能:
\a アラート(ベル)
\b バックスペース
\d 削除
\f フォームフィード
\n 改行
\r キャリッジリターン
\t 水平タブ
\v 垂直タブ
\NNN 値がXNUMX進値であるXNUMXビット文字 NNN (XNUMX〜XNUMX
数字)
\xHH 値がXNUMX進値であるXNUMXビット文字 HH (一つか二つ
XNUMX進数)

マクロのテキストを入力するときは、一重引用符または二重引用符を使用して、
マクロ定義。 引用符で囲まれていないテキストは関数名と見なされます。 マクロ本体では、
上記のバックスラッシュエスケープが展開されます。 バックスラッシュは他の文字を引用します
「」と「」を含むマクロテキスト内。

Bash 現在のreadlineキーバインディングを表示または変更できるようにします バインド
組み込みコマンド。 インタラクティブな使用中に編集モードを切り替えるには、 -o
オプションを セッションに 組み込みコマンド(を参照) SHELL ビルティン コマンド 下)。

readlineの Variables
Readlineには、その動作をさらにカスタマイズするために使用できる変数があります。 変数は
に設定する 入力rc フォームのステートメントを含むファイル

セッションに 変数名

特に明記されていない限り、readline変数は値を取ることができます On or オフ (関係なく
場合)。 認識されない変数名は無視されます。 変数値が読み取られるとき、空または
null値、「on」(大文字と小文字を区別しない)、および「1」は、 On。 他のすべての値は
に相当 オフ。 変数とそのデフォルト値は次のとおりです。

ベルスタイル (可聴)
readlineがターミナルベルを鳴らしたいときに何が起こるかを制御します。 に設定されている場合
なし、readlineがベルを鳴らすことはありません。 に設定されている場合 目に見える、readlineは可視を使用します
利用可能な場合はベル。 に設定されている場合 可聴、readlineは呼び出し音を鳴らそうとします
ターミナルのベル。
bind-tty-特別な文字 (オン)
に設定した場合 On、readlineは、によって特別に扱われる制御文字をバインドしようとします
カーネルのターミナルドライバを同等のreadlineに変換します。
色付きの統計 (オフ)
に設定した場合 On、readlineは、さまざまな色を使用して可能な補完を表示します
それらのファイルタイプを示します。 色の定義は、の値から取得されます
LS_COLORS 環境変数。
コメント-開始 (``#'')
読み取り行のときに挿入される文字列 挿入コメント コマンドが実行されます。
このコマンドはにバインドされています M-# emacsモードで # viコマンドモード。
完了-無視-ケース (オフ)
に設定した場合 On、readlineは、ファイル名の照合と補完を実行します
大文字と小文字を区別しない方法。
完了-プレフィックス-表示-長さ (0)
可能な補完のリストの共通プレフィックスの文字数
変更せずに表示されます。 ゼロより大きい値に設定すると、
この値より長い一般的なプレフィックスは、次の場合に省略記号に置き換えられます。
可能な完了を表示します。
完了-クエリ-アイテム (100)
これは、ユーザーが可能な数の表示についていつ照会されるかを決定します
によって生成された完了 可能な-完了 指図。 任意に設定できます
ゼロ以上の整数値。 可能な完了の数の場合
がこの変数の値以上である場合、ユーザーは次のことを尋ねられます
または彼はそれらを見たいとは思わない。 それ以外の場合は、単に端末にリストされます。
変換メタ (オン)
に設定した場合 On、readlineは、XNUMX番目のビットがASCIIに設定されている文字を変換します
XNUMX番目のビットを取り除き、エスケープ文字の前に付けることによるキーシーケンス(
効果、エスケープを使用して メタ 接頭辞).
無効化完了 (オフ)
に設定した場合 On、readlineは単語の補完を禁止します。 完成文字は
それらがにマップされたかのように行に挿入されます 自己挿入.
編集モード (emacs)
リードラインが次のようなキーバインディングのセットで始まるかどうかを制御します Emacs or vi.
編集モード どちらかに設定できます エマックス or vi.
エコー制御文字 (オン)
に設定されている場合 On、サポートしていることを示すオペレーティングシステムでは、readlineエコー
キーボードから生成された信号に対応する文字。
キーパッドを有効にする (オフ)
に設定されている場合 On、readlineは、アプリケーションのキーパッドを有効にしようとします。
と呼ばれる。 一部のシステムでは、矢印キーを有効にするためにこれが必要です。
有効化メタキー (オン)
に設定されている場合 On、readlineは、ターミナルでメタ修飾キーを有効にしようとします
それが呼び出されたときにサポートすると主張します。 多くの端末では、メタキーは次の目的で使用されます。
XNUMXビット文字を送信します。
エキスパンドチルダ (オフ)
に設定した場合 On、チルダ拡張は、readlineが単語の補完を試みるときに実行されます。
履歴保存ポイント (オフ)
に設定した場合 On、履歴コードは、それぞれの同じ場所にポイントを配置しようとします
で取得された履歴行 前の歴史 or 次の歴史.
履歴サイズ (0)
履歴リストに保存される履歴エントリの最大数を設定します。 に設定されている場合
ゼロの場合、既存の履歴エントリは削除され、新しいエントリは保存されません。 もしも
ゼロ未満の値に設定すると、履歴エントリの数は制限されません。 に
デフォルトでは、履歴エントリの数は制限されていません。
水平スクロールモード (オフ)
に設定されている場合 On、readlineが表示にXNUMX行を使用し、入力をスクロールするようにします
画面幅より長くなると、XNUMXつの画面線上で水平方向に
新しい行に折り返すのではなく。
入力メタ (オフ)
に設定した場合 On、readlineはXNUMXビット入力を有効にします(つまり、
端末がそれを主張するものに関係なく、それが読み取る文字からの上位ビット)
サポートすることができます。 名前 メタフラグ この変数の同義語です。
isearch-ターミネーター (「C- [C-J」)
インクリメンタルサーチを終了せずに終了する必要がある文字列
その後、コマンドとしてキャラクターを実行します。 この変数がされていない場合
値が与えられると、文字 ESC & CJ インクリメンタルサーチを終了します。
キーマップ (emacs)
現在のリードラインキーマップを設定します。 有効なキーマップ名のセットは次のとおりです。 emacs、
emacs-標準、 emacs-meta、 emacs-ctlx、 vi、 vi-コマンド, vi-挿入. vi is
に相当 vi-コマンド; エマックス に相当します emacs標準。 デフォルト値
is エマックス; の値 編集モード デフォルトのキーマップにも影響します。
keyseq-タイムアウト (500)
期間を指定します 読み込まれた行 あいまいな読み物を読むときに文字を待ちます
キーシーケンス(入力を使用して完全なキーシーケンスを形成できるもの)
はるかに、またはより長いキーシーケンスを完了するために追加の入力を行うことができます)。 入力がない場合
タイムアウト内に受信され、 読み込まれた行 短いが完全なキーを使用します
順序。 値はミリ秒単位で指定されるため、値1000は、
読み込まれた行 追加の入力をXNUMX秒間待ちます。 この変数がに設定されている場合
ゼロ以下の値、または数値以外の値、 読み込まれた行 お待ちしております
別のキーを押して、完了するキーシーケンスを決定するまで。
マークディレクトリ (オン)
に設定した場合 On、完成したディレクトリ名にはスラッシュが追加されます。
マーク変更された行 (オフ)
に設定した場合 On、変更された履歴行は前に表示されます
アスタリスク(*).
マーク-symlinked-ディレクトリ (オフ)
に設定した場合 On、ディレクトリへのシンボリックリンクである完成した名前にはスラッシュが付いています
追加(の値に応じて マークディレクトリ).
マッチ隠しファイル (オン)
この変数は、 On、readlineを名前が始まるファイルと一致させます
`。' (非表示ファイル)ファイル名補完を実行する場合。 に設定されている場合 オフ
先頭の`。 ' 完了するには、ファイル名でユーザーが指定する必要があります。
メニュー完全表示プレフィックス (オフ)
に設定した場合 On、メニューの完了により、可能なリストの共通プレフィックスが表示されます
リストを循環する前の完了(空の場合があります)。
出力メタ (オフ)
に設定した場合 On、readlineは、XNUMX番目のビットが直接設定された文字を表示します
メタプレフィックス付きのエスケープシーケンスとしてではなく。
ページの完了 (オン)
に設定した場合 On、readlineは内部を使用します 他には?-画面一杯を表示するポケットベルのような
一度に可能な完了。
印刷-完了-水平方向 (オフ)
に設定した場合 On、readlineは、一致が水平方向にソートされた補完を表示します
画面の下ではなく、アルファベット順。
すべてを改行に戻す (オフ)
に設定した場合 On、readlineは、履歴行へのすべての変更を元に戻してから、
受け入れライン 実行されます。 デフォルトでは、履歴行は変更されて保持される場合があります
呼び出し全体の個々の取り消しリスト 読み込まれた行.
あいまいな場合はすべて表示 (オフ)
これにより、完了関数のデフォルトの動作が変更されます。 に設定されている場合 On、言葉
完了の可能性が複数ある場合は、一致がリストされます
ベルを鳴らす代わりにすぐに。
変更されていない場合はすべて表示 (オフ)
これにより、完了関数のデフォルトの動作が同様の方法で変更されます
〜へ あいまいな場合はすべて表示。 に設定されている場合 On、複数の可能性がある単語
可能な部分的な完了なしの完了(可能な完了はしません
共通のプレフィックスを共有する)一致するものが代わりにすぐにリストされるようにします
ベルを鳴らします。
プロンプト表示モード (オフ)
に設定した場合 On、編集を示す文字をプロンプトの先頭に追加します
モード:emacs(@)、viコマンド(:)またはvi挿入(+)。
スキップ-完了-テキスト (オフ)
に設定した場合 On、これにより、シングルを挿入するときのデフォルトの完了動作が変更されます
行に一致します。 途中で完了を実行した場合にのみアクティブになります
単語。 有効にすると、readlineは補完から文字を挿入しません
単語のポイントの後に文字を一致させるので、単語の一部
カーソルに続くものは複製されません。
可視統計 (オフ)
に設定した場合 On、によって報告されたファイルのタイプを示す文字 STAT(2)を追加
可能な補完をリストするときにファイル名に。

readlineの 条件付きの 構成
Readlineは、条件付きコンパイル機能と精神的に類似した機能を実装します
キーバインディングと変数設定を次のように実行できるCプリプロセッサの
テストの結果。 使用されるパーサーディレクティブはXNUMXつあります。

$ if   $ if コンストラクトを使用すると、編集モードに基づいてバインディングを作成できます。
使用されている端末、またはreadlineを使用しているアプリケーション。 テストのテキスト
行の終わりまで拡張します。 それを分離するために文字は必要ありません。

モード   mode = の形 $ if ディレクティブは、readlineがにあるかどうかをテストするために使用されます
emacsまたはviモード。 これは、 セッションに キーマップ
たとえば、コマンドでバインディングを設定します emacs標準 & emacs-ctlx
readlineがemacsモードで開始している場合にのみキーマップ。

期間   term = フォームを使用して、端末固有のキーバインディングを含めることができます。
おそらく、端末のファンクションキーによって出力されたキーシーケンスをバインドするためです。
の右側の単語 = の両方のフルネームに対してテストされます
端末と最初の前の端末名の部分 -。 この
ことができます 太陽 両方に一致する 太陽 & サンコマンド、 例えば。


  コンストラクトは、アプリケーション固有の設定を含めるために使用されます。
readlineライブラリを使用する各プログラムは、 、および
初期化ファイルは特定の値をテストできます。 これは、
キーシーケンスを特定のプログラムに役立つ関数にバインドします。 為に
たとえば、次のコマンドは、現在のを引用するキーシーケンスを追加します
または前の単語 bash:

$ if Bash
#現在または前の単語を引用する
"\ C-xq": "\ eb \" \ ef \ ""
$ endif

$ endif このコマンドは、前の例で見たように、 $ if

$ else のこのブランチのコマンド $ if テストが失敗した場合、ディレクティブが実行されます。

$ include
このディレクティブは、引数として単一のファイル名を取り、コマンドを読み取り、
そのファイルからのバインディング。 たとえば、次のディレクティブは次のようになります。
/ etc / inputrc:

$ include / etc / inputrc

検索
Readlineは、コマンド履歴を検索するためのコマンドを提供します(を参照)。 歴史 以下)
指定された文字列を含む行の場合。 XNUMXつの検索モードがあります。 インクリメンタル &
インクリメンタル.

増分検索は、ユーザーが検索文字列の入力を完了する前に開始されます。 それぞれとして
検索文字列の文字を入力すると、readlineに履歴の次のエントリが表示されます
これまでに入力した文字列と一致します。 インクリメンタルサーチに必要な文字数は
必要に応じて、目的の履歴エントリを見つけます。 の値に存在する文字
isearch-ターミネーター 変数は、インクリメンタルサーチを終了するために使用されます。 もしそうなら
変数に値が割り当てられていないEscapeおよびControl-J文字が終了します
インクリメンタルサーチ。 Control-Gはインクリメンタルサーチを中止し、
元の行。 検索が終了すると、検索を含む履歴エントリ
文字列が現在の行になります。

履歴リストで他の一致するエントリを見つけるには、「Control-S」または「Control-R」と入力します。
適切な。 これにより、履歴内で次のエントリが逆方向または順方向に検索されます
これまでに入力した検索文字列と一致します。 リードラインにバインドされたその他のキーシーケンス
コマンドは検索を終了し、そのコマンドを実行します。 たとえば、 改行 意志
検索を終了して行を受け入れ、履歴からコマンドを実行します
リスト。

Readlineは、最後の増分検索文字列を記憶しています。 XNUMXつのControl-Rが入力された場合
新しい検索文字列を定義する文字が介在することなく、記憶された検索
文字列が使用されます。

非増分検索は、検索を開始する前に検索文字列全体を読み取ります
一致する履歴行。 検索文字列は、ユーザーが入力することも、ユーザーが入力することもできます。
現在の行の内容。

readlineの Command
以下は、コマンドの名前とデフォルトのキーシーケンスのリストです。
それらはバインドされています。 キーシーケンスを伴わないコマンド名は、
デフォルト。 以下の説明では、 ポイント 現在のカーソル位置を参照し、
マーク によって保存されたカーソル位置を指します セットマーク 指図。 間のテキスト
ポイントとマークは、 地域.

コマンド for 移動する
行頭 (Ca)
現在の行の先頭に移動します。
行末 (Ce)
行の終わりに移動します。
転送文字 (Cf)
キャラクターを前に進めます。
後方文字 (Cb)
キャラクターを戻します。
前向きな言葉 (Mf)
次の単語の終わりに進みます。 単語は英数字で構成されています
文字(文字と数字)。
バックワードワード (Mb)
現在または前の単語の先頭に戻ります。 単語はで構成されています
英数字(文字と数字)。
シェルフォワードワード
次の単語の終わりに進みます。 単語は引用符で囲まれていないシェルで区切られます
メタ文字。
シェルバックワード
現在または前の単語の先頭に戻ります。 単語はで区切られます
引用符で囲まれていないシェルのメタ文字。
クリアスクリーン (Cl)
画面の上部に現在の行を残して、画面をクリアします。 と
引数、画面をクリアせずに現在の行を更新します。
現在の行の再描画
現在の行を更新します。

コマンド for 操作する   歴史
受け入れライン (改行、 戻る)
カーソルの位置に関係なく、その行を受け入れます。 この行が空でない場合は、追加します
の状態に応じて履歴リストに追加します ヒストコントロール 変数。 の場合
行は変更された履歴行であり、履歴行を元の行に復元します
でのみ停止させることができます。
前の歴史 (Cp)
履歴リストから前のコマンドを取得し、リストに戻ります。
次の歴史 (Cn)
履歴リストから次のコマンドを取得し、リストを進めます。
歴史の始まり (M- <)
履歴の最初の行に移動します。
歴史の終わり (M->)
入力履歴の最後、つまり現在入力されている行に移動します。
逆検索履歴 (Cr)
現在の行から逆方向に検索し、履歴を「上」に移動します。
必要。 これはインクリメンタルサーチです。
前方検索履歴 (Cs)
現在の行から始めて、履歴を「下」に移動して前方に検索します
必要に応じて。 これはインクリメンタルサーチです。
非インクリメンタル-逆検索-履歴 (Mp)
非を使用して現在の行から始まる履歴を逆方向に検索します
ユーザーが指定した文字列のインクリメンタルサーチ。
非増分前方検索履歴 (Mn)
文字列の非インクリメンタル検索を使用して、履歴を前方に検索します
ユーザーによって提供されます。
履歴-検索-転送
履歴を前方に検索して、先頭から先頭までの文字列を探します
現在のラインとポイントの。 これは非インクリメンタルサーチです。
履歴-検索-後方
履歴を逆方向に検索して、先頭から先頭までの文字列を探します
現在のラインとポイントの。 これは非インクリメンタルサーチです。
ヤンク-n番目の引数 (MCy)
前のコマンドの最初の引数を挿入します(通常、
前の行)ポイントで。 引数付き n、挿入します n前からの単語
コマンド(前のコマンドの単語は単語0で始まります)。 否定的な議論
を挿入します n前のコマンドの最後からの単語。 一度議論 n is
計算されると、引数は「!n「歴史の拡大は
指定。
ヤンク-最後の引数 (M-。、 M-_)
前のコマンドの最後の引数(前の最後の単語)を挿入します
履歴エントリ)。 数値引数を使用すると、まったく同じように動作します ヤンク-n番目の引数.
の連続呼び出し ヤンク-最後の引数 履歴リストに戻り、
の各行の最後の単語(または最初の呼び出しの引数で指定された単語)
順番。 これらの連続する呼び出しに提供される数値引数は、
歴史を移動する方向。 負の引数は方向を切り替えます
履歴を通して(戻るまたは進む)。 歴史拡張施設を利用
「!$」履歴展開が指定されたかのように、最後の単語を抽出します。
シェル展開行 (MCe)
シェルと同じように行を展開します。 これにより、エイリアスと履歴の拡張が実行されます。
シェルワード拡張のすべてと同様に。 見る 歴史 拡張 以下の
履歴拡張の説明。
履歴展開行 (M- ^)
現在の行で履歴拡張を実行します。 見る 歴史 拡張 以下の
履歴拡張の説明。
魔法の空間
現在の行で履歴展開を実行し、スペースを挿入します。 見る 歴史
拡張 履歴拡張の説明については、以下を参照してください。
エイリアス展開行
現在の行でエイリアス展開を実行します。 見る エイリアス 上記の説明
エイリアス拡張の。
履歴とエイリアス展開行
現在の行で履歴とエイリアスの展開を実行します。
挿入-最後の引数 (M-。、 M-_)
の同義語 ヤンク-最後の引数.
次の操作と取得 (共同)
実行のために現在の行を受け入れ、相対的な次の行をフェッチします
編集用の履歴からの現在の行。 引数はすべて無視されます。
編集および実行コマンド (C-xC-e)
現在のコマンドラインでエディターを呼び出し、結果をシェルとして実行します
コマンド。 Bash 呼び出そうとします $ VISUAL, $編集者, エマックス 編集者として、
その順序。

コマンド for を変える、 テキスト
ファイルの終わり (通常は CD)
たとえば、「stty」によって設定されたファイルの終わりを示す文字。 これなら
行に文字がなく、ポイントが
行の先頭で、Readlineはそれを入力の終わりとして解釈し、 EOF.
削除文字 (CD)
ポイントの文字を削除します。 この関数がと同じ文字にバインドされている場合
tty EOF 文字、として CD 一般的には、効果については上記を参照してください。
後方削除文字 (Rubout)
カーソルの後ろの文字を削除します。 数値引数を指定したら、
キルリングのテキストを削除しました。
前方後方削除文字
カーソルが行の終わりにない限り、カーソルの下の文字を削除します。
この場合、カーソルの後ろの文字が削除されます。
引用-挿入 (Cq、 履歴書)
行に入力された次の文字を逐語的に追加します。 挿入方法はこちら
のような文字 Cq例えば。
タブ挿入 (履歴書 タブ)
タブ文字を挿入します。
自己挿入 (a、 b, A, 1, !, ...)
入力した文字を挿入します。
転置文字 (Ct)
ポイントの前のキャラクターをポイントのキャラクターの上にドラッグし、ポイントを移動します
フォワードも。 ポイントが行の終わりにある場合、これはXNUMXつを転置します
ポイントの前の文字。 否定的な引数は効果がありません。
転置-単語 (山)
ポイントの前の単語をポイントの次の単語を超えてドラッグし、その単語の上にポイントを移動します
同じように。 ポイントが行の終わりにある場合、これは最後のXNUMXつの単語を転置します
この線。
大文字の単語 (む)
現在の(または後続の)単語を大文字にします。 負の引数を使用する場合は、大文字で
前の単語ですが、ポイントを移動しないでください。
小文字の単語 (Ml)
現在の(または後続の)単語を小文字にします。 負の引数を使用する場合は、
前の単語ですが、ポイントを移動しないでください。
大文字の単語 (マック)
現在の(または次の)単語を大文字にします。 否定的な議論で、大文字にする
前の単語ですが、ポイントを移動しないでください。
上書きモード
上書きモードを切り替えます。 明示的な正の数値引数を使用して、に切り替えます
上書きモード。 明示的な非正の数値引数を使用して、挿入に切り替えます
モード。 このコマンドはのみ影響します エマックス モード; vi モードは異なる方法で上書きします。
への各呼び出し 読み込まれた行() 挿入モードで起動します。 上書きモードでは、文字がバインドされます
〜へ 自己挿入 テキストを右に押すのではなく、ポイントでテキストを置き換えます。
にバインドされた文字 後方削除文字 ポイントの前の文字を
スペース。 デフォルトでは、このコマンドはバインドされていません。

殺害 & ヤンキング
キルライン (Ck)
ポイントから行の終わりまでテキストを強制終了します。
後方キルライン (Cx Rubout)
行の先頭まで後方にキルします。
unix-line-discard (Cu)
ポイントから行の先頭まで後方にキルします。 殺されたテキストはに保存されます
キルリング。
キル-全行
ポイントがどこにあっても、現在の行のすべてのキャラクターを殺します。
キルワード (Md)
ポイントから現在の単語の終わりまで、または単語の間にある場合は最後までキルします
次の言葉。 単語の境界は、によって使用されるものと同じです 前向きな言葉.
バックワードキルワード (M-Rubout)
ポイントの後ろの単語を殺します。 単語の境界は、によって使用されるものと同じです
バックワードワード.
シェルキルワード (Md)
ポイントから現在の単語の終わりまで、または単語の間にある場合は最後までキルします
次の言葉。 単語の境界は、によって使用されるものと同じです シェルフォワードワード.
シェルバックワードキルワード (M-Rubout)
ポイントの後ろの単語を殺します。 単語の境界は、によって使用されるものと同じです
シェルバックワード.
unix-word-rubout (Cw)
単語の境界として空白を使用して、ポイントの後ろの単語を殺します。 殺されたテキスト
キルリングに保存されます。
unix-ファイル名-rubout
単語として空白とスラッシュ文字を使用して、ポイントの後ろの単語を殺します
境界。 殺されたテキストはキルリングに保存されます。
削除-水平-スペース (M- \)
ポイントの周囲のすべてのスペースとタブを削除します。
キルリージョン
現在のリージョンのテキストを強制終了します。
リージョンをキルとしてコピー
リージョン内のテキストをキルバッファにコピーします。
コピーバックワード
ポイントの前の単語をキルバッファにコピーします。 単語の境界はと同じです
バックワードワード.
コピーフォワードワード
次の単語をkillバッファにコピーします。 単語の境界は同じです
as 前向きな言葉.
ヤンク (Cy)
キルリングの上部をポイントでバッファにヤンクします。
ヤンクポップ (私の)
キルリングを回転させ、新しいトップをヤンクします。 以下でのみ機能します ヤンク or ヤンクポップ.

数値の Arguments
数字引数 (M-0、 M-1、 ···、 M--)
この数字をすでに蓄積されている引数に追加するか、新しい引数を開始します。 M--
負の引数を開始します。
普遍的な議論
これは、引数を指定する別の方法です。 このコマンドの後にXNUMXつまたは
より多くの桁、オプションで先頭にマイナス記号を付けると、それらの桁は
口論。 コマンドの後に数字が続く場合は、 普遍的な議論 再び
数値引数を終了しますが、それ以外の場合は無視されます。 特別な場合として、これが
コマンドの直後に、数字でもマイナスでもない文字が続きます
signの場合、次のコマンドの引数数はXNUMX倍になります。 議論
countは最初はXNUMXなので、この関数を最初に実行すると、
引数はXNUMXカウント、XNUMX回目は引数カウントXNUMXになり、以下同様に続きます。

完了
コンプリート (タブ)
ポイントの前にテキストの補完を実行してみてください。 Bash 完了を試みます
テキストを変数として扱う(テキストがで始まる場合 $)、ユーザー名(テキストの場合
〜で始まる ~)、ホスト名(テキストがで始まる場合 @)、またはコマンド(エイリアスを含む)
および機能)を順番に。 これらのいずれも一致しない場合、ファイル名の補完は
試みた。
可能な-完了 (NS-?)
ポイントの前にテキストの可能な補完をリストします。
挿入完了 (M- *)
によって生成されたであろうポイントの前にテキストのすべての補完を挿入します
可能な-完了.
メニュー-完了
そして コンプリート、ただし、補完する単語をからの単一の一致に置き換えます
可能な完了のリスト。 の繰り返し実行 メニュー-完了 ステップ
可能な完了のリストを介して、各一致を順番に挿入します。 最後に
完了リストの中で、ベルが鳴ります( ベルスタイル)
元のテキストが復元されます。 の議論 n 移動 n 前方の位置
一致のリスト。 負の引数を使用して、
リスト。 このコマンドは、にバインドすることを目的としています TAB、ただし、デフォルトではバインドされていません。
メニュー-完全-後方
と同じ メニュー-完了、ただし、可能なリストを逆方向に移動します
まるで完了 メニュー-完了 否定的な議論がなされていた。 このコマンド
デフォルトではバインドされていません。
削除文字またはリスト
行の先頭または末尾にない場合は、カーソルの下の文字を削除します
削除文字)。 行の終わりにある場合、と同じように動作します
可能な-完了。 このコマンドはデフォルトでバインドされていません。
完全なファイル名 (NS-/)
ポイントの前のテキストでファイル名の補完を試みます。
可能な-ファイル名-完了 (Cx /)
ポイントの前にテキストの可能な補完をリストし、ファイル名として扱います。
完全なユーザー名 (M-〜)
ポイントの前にテキストを完成させて、ユーザー名として扱います。
可能な-ユーザー名-完了 (Cx ~)
ポイントの前にテキストの可能な補完をリストし、それをユーザー名として扱います。
完全変数 (M- $)
ポイントの前のテキストをシェル変数として扱い、完了を試みます。
可能な変数の完了 (Cx $)
ポイントの前にテキストの可能な補完をリストし、それをシェルとして扱います
変数に保存します.
完全なホスト名 (M- @)
ポイントの前のテキストをホスト名として処理して、完了を試みます。
可能な-ホスト名-完了 (Cx @)
ポイントの前にテキストの可能な補完をリストし、ホスト名として扱います。
完全なコマンド (M-!)
ポイントの前のテキストをコマンド名として扱い、完了を試みます。
コマンドの完了により、テキストがエイリアス、予約語、
シェル関数、シェルビルトイン、最後に実行可能ファイル名の順。
可能なコマンドの完了 (Cx !)
ポイントの前にテキストの可能な補完をリストし、コマンドとして扱います
名前。
動的-完全な履歴 (M-TAB)
ポイントの前のテキストで完了を試み、テキストをからの行と比較します
可能な完了一致の履歴リスト。
dabbrev-展開
ポイントの前のテキストでメニューの完了を試み、テキストを行と比較します
可能な完了一致の履歴リストから。
中括弧に完全 (M- {)
ファイル名の補完を実行し、囲まれた可能な補完のリストを挿入します
中かっこで囲んで、リストをシェルで使用できるようにします(を参照)。 ブレース 拡張 上記)。

キーボード マクロ
開始 kbd マクロ (Cx ()
現在のキーボードマクロに入力された文字の保存を開始します。
end-kbd-マクロ (Cx ))
現在のキーボードマクロに入力された文字の保存を停止し、
定義。
最後に呼び出したkbdマクロ (Cx e)
マクロ内の文字を作成して、最後に定義されたキーボードマクロを再実行します
キーボードで入力したように見えます。
印刷-last-kbd-マクロ ()
に適した形式で定義された最後のキーボードマクロを印刷します 入力rc ファイルにソフトウェアを指定する必要があります。

その他
再読み込み初期化ファイル (Cx Cr)
の内容を読む 入力rc ファイル、およびバインディングまたは変数を組み込む
そこに割り当てが見つかりました。
アボート (Cg)
現在の編集コマンドを中止し、端末のベルを鳴らします(
の設定 ベルスタイル).
do-大文字バージョン (マ、 Mb、 M-x, ...)
メタファイされたキャラクターの場合 x 小文字の場合は、にバインドされているコマンドを実行します
対応する大文字。
プレフィックスメタ (ESC)
次に入力した文字をメタファイします。 ESC f に相当します メタ-f.
取り消す (C-_、 Cx Cu)
増分取り消し。行ごとに個別に記憶されます。
復帰ライン (氏)
この行に加えられたすべての変更を元に戻します。 これは、 取り消す 十分なコマンド
行を初期状態に戻すための回数。
チルダ-展開 (M-&)
現在の単語に対してチルダ拡張を実行します。
セットマーク (C- @、 M- )。
ポイントにマークを設定します。 数値引数を指定すると、マークは次のように設定されます。
その位置。
交換ポイントとマーク (Cx Cx)
ポイントをマークと交換します。 現在のカーソル位置は保存済みに設定されます
位置、および古いカーソル位置がマークとして保存されます。
文字検索 (C-])
文字が読み取られ、ポイントがその文字の次の出現箇所に移動します。 A
負のカウントは、以前の発生を検索します。
文字検索-後方 (MC-])
文字が読み取られ、ポイントがその前のオカレンスに移動されます
キャラクター。 負のカウントは、後続の発生を検索します。
スキップ csi シーケンス
のために定義されたものなどのマルチキーシーケンスを消費するのに十分な文字を読み取ります
HomeやEndなどのキー。 このようなシーケンスは、制御シーケンスインジケータで始まります
(CSI)、通常はESC-[。 このシーケンスが「\[」にバインドされている場合、そのようなシーケンスを生成するキー
readlineコマンドに明示的にバインドされていない限り、シーケンスは効果がありません。
漂遊文字を編集バッファーに挿入する代わりに。 これは
デフォルトですが、通常はESC-[にバインドされます。
挿入コメント (M-#)
数値引数がない場合、readlineの値 コメント-開始 変数は
現在の行の先頭に挿入されます。 数値引数が指定されている場合、
このコマンドはトグルとして機能します。行の先頭の文字が
の値と一致しません コメント-開始、値が挿入されます。それ以外の場合は、
の文字 コメント-開始 行頭から削除されます。 どちらかで
この場合、行は改行が入力されたかのように受け入れられます。 のデフォルト値
コメント-開始 このコマンドにより、現在の行がシェルコメントになります。 もし
数値引数を指定すると、コメント文字が削除されます。行は次のようになります。
シェルによって実行されます。
グロブ完全単語 (Mg)
ポイントの前の単語は、パス名拡張のパターンとして扱われ、
アスタリスクは暗黙的に追加されます。 このパターンは、一致するリストを生成するために使用されます
可能な補完のファイル名。
グロブ展開単語 (Cx *)
ポイントの前の単語は、パス名拡張のパターンとして扱われ、リスト
一致するファイル名のが挿入され、単語が置き換えられます。 数値引数が
指定すると、パス名展開の前にアスタリスクが追加されます。
グロブリスト拡張 (Cx g)
によって生成されたであろう拡張のリスト グロブ展開単語 is
が表示され、線が再描画されます。 数値引数が指定されている場合、アスタリスク
パス名展開の前に追加されます。
ダンプ関数
すべての関数とそれらのキーバインディングをreadline出力ストリームに出力します。
数値引数が指定されている場合、出力は次のようにフォーマットされます。
の一部にすることができます 入力rc ファイルにソフトウェアを指定する必要があります。
ダンプ変数
設定可能なすべてのreadline変数とその値をreadlineに出力します
出力ストリーム。 数値引数が指定されている場合、出力は次のようにフォーマットされます。
の一部にすることができる方法 入力rc ファイルにソフトウェアを指定する必要があります。
ダンプマクロ
マクロにバインドされたすべてのreadlineキーシーケンスとそれらの文字列を出力します
出力。 数値引数が指定されている場合、出力はそのようにフォーマットされます
の一部にすることができます 入力rc ファイルにソフトウェアを指定する必要があります。
ディスプレイシェルバージョン (Cx 履歴書)
の現在のインスタンスに関するバージョン情報を表示します bash.

プログラム対応 完成
補完対象のコマンドの引数に対して単語補完を試みた場合
仕様( コンスペック)を使用して定義されています コンプリート ビルトイン(を参照) SHELL ビルティン
コマンド 以下)、プログラム可能な完了機能が呼び出されます。

まず、コマンド名が識別されます。 コマンドワードが空の文字列の場合
(空の行の先頭で完了が試行されました)、で定義されたcompspec -E
オプション コンプリート 使用されている。 そのコマンドにcompspecが定義されている場合、compspec
単語の可能な補完のリストを生成するために使用されます。 コマンドワードが
フルパス名、フルパス名のcompspecが最初に検索されます。 compspecがない場合
フルパス名が見つかった場合、その部分のcompspecを見つけようとします
最後のスラッシュに続いて。 これらの検索でcompspecが生成されない場合は、compspec
で定義 -D オプション コンプリート デフォルトとして使用されます。

compspecが見つかると、一致する単語のリストを生成するために使用されます。 もし
compspecが見つかりません、デフォルト bash 上記の完了 完了 is
実行されました。

まず、compspecで指定されたアクションが使用されます。 プレフィックスが付いている一致のみ
完了した単語が返されます。 いつ -f or -d オプションはファイル名または
ディレクトリ名の補完、シェル変数 無視する 一致をフィルタリングするために使用されます。

パス名拡張パターンで指定された補完 -G オプションが生成されます
次。 パターンによって生成された単語は、完成した単語と一致する必要はありません。 The
グロビグノーレ シェル変数は一致のフィルタリングには使用されませんが、 無視する 変数は
中古。

次に、引数として指定された文字列 -W オプションが考慮されます。 文字列は
の文字を使用して最初に分割 IFS 区切り文字としての特別な変数。 シェルクォート
光栄です。 次に、各単語は、ブレース拡張、チルダ拡張、パラメーターを使用して拡張されます。
上記のように、変数展開、コマンド置換、および算術展開
拡張。 結果は、上記のルールを使用して分割されます Word
分裂。 展開の結果は、存在する単語に対してプレフィックスが一致します
完了し、一致する単語が可能な完了になります。

これらの一致が生成された後、で指定されたシェル関数またはコマンド
-F & -C オプションが呼び出されます。 コマンドまたは関数が呼び出されると、 COMP_LINE,
COMP_POINT, COMP_KEY, COMP_TYPE 変数には、上記のように値が割り当てられます。
シェル(Shell) Variables。 シェル関数が呼び出されている場合、 COMP_WORDS & COMP_CWORD
変数も設定されます。 関数またはコマンドが呼び出されると、最初の引数($1)
引数が完了しているコマンドの名前であり、XNUMX番目の引数($2)
完成した単語であり、XNUMX番目の引数($3)は単語の前の単語です
現在のコマンドラインで完了しています。 生成された補完のフィルタリングはありません
完成した単語に対して実行されます。 機能またはコマンドが完了しました
マッチを生成する自由。

で指定された関数 -F 最初に呼び出されます。 関数は任意のシェルを使用できます
を含む施設 コンプゲン 一致を生成するために、以下で説明する組み込み。 これ
可能な補完を 遵守する 配列変数、配列要素ごとにXNUMXつ。

次に、で指定されたコマンド -C オプションは、同等の環境で呼び出されます
コマンド置換。 完了のリストをXNUMX行にXNUMXつずつ、
標準出力。 必要に応じて、バックスラッシュを使用して改行をエスケープできます。

可能なすべての補完が生成された後、 -X
オプションがリストに適用されます。 フィルタは、パス名の展開に使用されるパターンです。 a
& パターン内の単語は、完成した単語のテキストに置き換えられます。 リテラル & かもしれません
バックスラッシュでエスケープされます。 円記号は、一致を試みる前に削除されます。 どれでも
パターンに一致する補完はリストから削除されます。 一流 ! 否定する
パターン; この場合、パターンに一致しない補完は削除されます。

最後に、で指定されたプレフィックスとサフィックス -P & -S それぞれにオプションが追加されます
完了リストのメンバーであり、結果はreadline完了コードに返されます
可能な完了のリストとして。

以前に適用されたアクションで一致が生成されない場合、および -o ディレクトリ名 オプション
に供給された コンプリート compspecが定義されたとき、ディレクトリ名の補完は
試みた。

Status -o プラスディレクトリ オプションが提供されました コンプリート compspecが定義されたとき、
ディレクトリ名の補完が試行され、一致するものがあれば結果に追加されます。
その他のアクション。

デフォルトでは、compspecが見つかった場合、それが生成するものはすべて補完に返されます
可能な補完の完全なセットとしてコードを記述します。 デフォルト bash 完了はありません
試行され、ファイル名補完のreadlineデフォルトが無効になります。 の場合 -o
bashデフォルト オプションが提供されました コンプリート compspecが定義されたとき、 bash
compspecが一致を生成しない場合、デフォルトの補完が試行されます。 の場合 -o デフォルト
オプションが提供されました コンプリート compspecが定義されたとき、readlineのデフォルト
compspec(および試行された場合はデフォルト)の場合、完了が実行されます bash
完了)一致を生成しません。

compspecがディレクトリ名の補完が必要であることを示している場合、プログラマブル
完了関数は、readlineに完了した名前にスラッシュを追加するように強制します。
ディレクトリへのシンボリックリンク。 マークディレクトリ 読み込まれた行
の設定に関係なく、変数 マーク-symlinked-ディレクトリ readline変数。

補完を動的に変更するためのサポートがいくつかあります。 これは、次の場合に最も役立ちます。
で指定されたデフォルトの補完と組み合わせて使用​​されます コンプリート -D。 それが可能だ
完了ハンドラーとして実行されるシェル関数の場合、完了が
124の終了ステータスを返すことによって再試行されました。シェル関数が124を返し、変更した場合
完了が試行されているコマンドに関連付けられているcompspec(提供されている)
関数が実行されるときの最初の引数として)、プログラム可能な完了が再開します
最初から、そのコマンドの新しいcompspecを見つけようとします。 これにより、
完了が試行されるときに動的に構築される一連の完了ではなく、
一度にロードされます。

たとえば、compspecsのライブラリがあり、それぞれがファイルに保存されていると仮定します。
コマンドの名前に対応して、次のデフォルトの完了関数は
完了を動的にロードします。

_completion_loader()
{
。 「/etc/bash_completion.d/$ 1.sh "> / dev / null 2>&1 && return 124
}
完全 -D -F _completion_loader -o bashdefault -o デフォルト

歴史


-o history オプションを セッションに ビルトインが有効になっている場合、シェルはへのアクセスを提供します
command history、以前に入力したコマンドのリスト。 の値 履歴サイズ
変数は、履歴リストに保存するコマンドの数として使用されます。 のテキスト
last 履歴サイズ コマンド(デフォルトは500)が保存されます。 シェルは各コマンドをに保存します
パラメータと変数の展開前の履歴リスト(を参照) 拡張 上記)しかし後
シェル変数の値に応じて、履歴の展開が実行されます ヒスティグノア
& ヒストコントロール.

起動時に、履歴は変数で指定されたファイルから初期化されます ヒストファイル
(デフォルト 〜/ .bash_history)。 の値によって名前が付けられたファイル ヒストファイル 切り捨てられた場合
の値で指定された行数を超えないようにする必要があります
ヒストファイルサイズ。 場合 ヒストファイルサイズ 未設定、またはnull、非数値、または数値に設定されている
値がゼロ未満の場合、履歴ファイルは切り捨てられません。 履歴ファイルを読み取ると、
履歴コメント文字で始まり、直後に数字が続く行は
前の履歴行のタイムスタンプとして解釈されます。 これらのタイムスタンプはオプションです
の値に応じて表示されます ヒストタイムフォーマット 変数。 シェルが
履歴が有効な出口、最後 $ HISTSIZE 行は履歴リストからにコピーされます
$ HISTFILE。 もし ヒスタペンド シェルオプションが有効になっています(の説明を参照してください) 買い物
SHELL ビルティン コマンド 以下)、行は履歴ファイルに追加されます。それ以外の場合は、
履歴ファイルが上書きされます。 もしも ヒストファイル が設定されていない場合、または履歴ファイルが書き込み不可の場合は、
履歴は保存されません。 の場合 ヒストタイムフォーマット 変数が設定され、タイムスタンプが書き込まれます
履歴コメント文字でマークされた履歴ファイルに保存される可能性があります
シェルセッション間。 これは、履歴コメント文字を使用してタイムスタンプを区別します
他の歴史の行から。 履歴を保存した後、履歴ファイルは次のように切り捨てられます
含む ヒストファイルサイズ 行。 もしも ヒストファイルサイズ 設定されていない、またはnullに設定されている、
数値、またはゼロ未満の数値の場合、履歴ファイルは切り捨てられません。

組み込みコマンド fc (参照してください SHELL ビルティン コマンド 以下)をリストまたは編集するために使用できます
履歴リストの一部を再実行してください。 The history ビルトインは、またはを表示するために使用される場合があります
履歴リストを変更し、履歴ファイルを操作します。 コマンドライン編集を使用する場合、
検索コマンドは、履歴へのアクセスを提供する各編集モードで使用できます
リスト。

シェルを使用すると、履歴リストに保存するコマンドを制御できます。 The
ヒストコントロール & ヒスティグノア シェルがサブセットのみを保存するように変数を設定できます
入力されたコマンドの。 The コマンドヒスト シェルオプションが有効になっている場合、シェルは
複数行のコマンドの各行を同じ履歴エントリに保存して、追加します
構文の正確さを維持するために必要な場合はセミコロン。 The リシスト シェルオプション
シェルは、セミコロンの代わりに改行を埋め込んでコマンドを保存します。 見る
の説明 買い物 下に組み込まれています SHELL ビルティン コマンド についての情報
シェルオプションの設定と設定解除。

歴史 拡張


シェルは、の履歴拡張と同様の履歴拡張機能をサポートしています。
csh。 このセクションでは、使用可能な構文機能について説明します。 この機能は有効になっています
インタラクティブシェルのデフォルトでは、を使用して無効にすることができます +H オプションを セッションに
組み込みコマンド(を参照) SHELL ビルティン コマンド 下)。 非対話型シェルは実行されません
デフォルトでは履歴拡張。

履歴拡張は、履歴リストから入力ストリームに単語を導入し、
コマンドを繰り返すのが簡単で、前のコマンドの引数を現在の入力に挿入します
行、または前のコマンドのエラーをすばやく修正します。

履歴の展開は、完全な行が読み取られた直後、シェルの前に実行されます
それを言葉に分解します。 それはXNUMXつの部分で行われます。 XNUMXつ目は、どの行を判別するかです。
履歴リストから、置換中に使用します。 XNUMXつ目は、の一部を選択することです
現在の行に含めるためのその行。 履歴から選択された行は
イベント、およびその行の作用を受ける部分は 言葉。 様々な 修飾子  
選択した単語を操作するために利用できます。 行は同じ単語に分割されます
入力を読むときのようにファッション、 メタキャラクター-で囲まれた区切り語
引用符はXNUMXつの単語と見なされます。 歴史の拡張は、の出現によって導入されます
歴史拡張キャラクター、 ! デフォルトでは。 バックスラッシュのみ(\)とシングル
引用符は、履歴拡張文字を引用できます。

履歴の直後に見つかった場合、いくつかの文字が履歴の拡張を禁止します
引用符で囲まれていない場合でも、拡張文字:スペース、タブ、改行、改行、および =.
Status 外部グロブ シェルオプションが有効になっている、 ( 膨張も抑制します。

で設定可能ないくつかのシェルオプション 買い物 ビルトインは、動作を調整するために使用できます
歴史の拡大の。 の場合 履歴確認 シェルオプションが有効になっています(の説明を参照してください)
  買い物 以下に組み込まれています)、および 読み込まれた行 使用されていますが、履歴の置換は使用されていません
すぐにシェルパーサーに渡されます。 代わりに、展開された行がに再ロードされます
読み込まれた行 さらに変更するための編集バッファー。 もしも 読み込まれた行 使用されており、
履歴編集 シェルオプションが有効になっている場合、失敗した履歴置換はに再ロードされます
  読み込まれた行 修正用の編集バッファー。 The -p オプションを history 組み込みコマンド
使用する前に、履歴拡張が何をするかを確認するために使用できます。 The -s オプションを
history ビルトインを使用して、履歴リストの最後にコマンドを追加することができます。
それらを実際に実行して、後で呼び出すことができるようにします。

シェルを使用すると、履歴拡張メカニズムで使用されるさまざまな文字を制御できます。
(の説明を参照してください ヒスチャー 上下 シェル(Shell) Variables)。 シェルは
履歴ファイルの書き込み時に履歴タイムスタンプをマークする履歴コメント文字。

イベント 指定子
イベント指定子は、履歴リストのコマンドラインエントリへの参照です。 そうでもなければ
参照は絶対的であり、イベントは履歴内の現在の位置に関連しています
リスト。

! 履歴の置換を開始します。ただし、その後に ブランク、改行、キャリッジ
return、=または(( 外部グロブ シェルオプションは、 買い物 組み込み)。
!n コマンドラインを参照してください n.
!-n 現在のコマンドマイナスを参照してください n.
!! 前のコマンドを参照してください。 これは`!-1'の同義語です。
!文字列
履歴リストの現在の位置の前にある最新のコマンドを参照してください
で始まります 文字列.
!?文字列[?]
履歴リストの現在の位置の前にある最新のコマンドを参照してください
含む 文字列。 トレーリング ? 次の場合は省略できます 文字列 すぐに続きます
改行によって。
^string1^string2^
迅速な代替。 前のコマンドを繰り返して、置き換えます string1   string2.
`` !!:s/に相当string1/string2/'' (見る 修飾子 下)。
!# これまでに入力したコマンドライン全体。

Word 指定子
単語指定子は、イベントから目的の単語を選択するために使用されます。 A : イベントを分離します
単語指定子からの仕様。 単語指定子が始まる場合は省略できます
また、 ^, $, *, -または %。 単語は行の先頭から番号が付けられ、
最初の単語は0(ゼロ)で示されます。 単語は分離された現在の行に挿入されます
シングルスペースで。

0 (ゼロ)
ゼロ番目の単語。 シェルの場合、これはコマンドワードです。
n   n言葉。
^ 最初の引数。 つまり、単語1です。
$ 最後の言葉。 これは通常最後の引数ですが、XNUMX番目に拡張されます
行に単語がXNUMXつしかない場合はword。
% 最新の`と一致する単語?文字列?」 探す。
x-y 言葉の範囲; `-y'は`0-を省略しますy'.
* ゼロを除くすべての単語。 これは`の同義語です1- $'。 エラーではありません
使用する * イベントに単語がXNUMXつしかない場合。 空の文字列が返されます
その場合。
x* 略語 x-$.
x- 略語 x-$ ような x*、ただし最後の単語は省略します。

イベント指定なしでワード指定子が指定された場合、前のコマンドは次のようになります。
イベントとして使用されます。

修飾子
オプションの単語指定子の後に、XNUMXつ以上のシーケンスが表示される場合があります。
次の修飾子。それぞれの前に「:」が付きます。

h 末尾のファイル名コンポーネントを削除し、先頭のみを残します。
t 末尾を残して、先頭のファイル名コンポーネントをすべて削除します。
r フォームの末尾のサフィックスを削除します .XXX、ベース名を残します。
e 末尾のサフィックスを除くすべてを削除します。
p 新しいコマンドを印刷しますが、実行しないでください。
q 置換された単語を引用し、それ以上の置換をエスケープします。
x 置換された単語を次のように引用します q、しかしで言葉に割り込む 空白 と改行。
s/古い/新製品/
代替 新製品 の最初の発生のために 古い イベントラインで。 任意の区切り文字
の代わりに使用できます /. 最後の区切り文字が最後の場合はオプションです
イベントラインの文字。 区切り文字はで引用できます 古い & 新製品 また、
シングルバックスラッシュ。 &がに表示される場合 新製品、に置き換えられます 古い。 単一の円記号
&を引用します。 もしも 古い nullの場合、最後に設定されます 古い 置換、または、そうでない場合
以前の履歴の置換が行われ、最後の 文字列 !?文字列[?]
検索。
& 前の置換を繰り返します。
g イベントライン全体に変更が適用されるようにします。 これはで使用されます
`と組み合わせて:s'(例: `:gs /古い/新製品/')または`:&'。 `と一緒に使用する場合:s'、 どれか
/の代わりに区切り文字を使用できます。最後の区切り文字はオプションです。
イベント行の最後の文字。 アン a の同義語として使用できます g.
G 次の`を適用しますs'イベント行の各単語にXNUMX回修飾子。

SHELL ビルティン コマンド


特に明記されていない限り、このセクションで受け入れとして文書化されている各組み込みコマンド
前にオプション - 受け入れる -- オプションの終わりを示します。 The :, true, false,
& test ビルトインはオプションを受け入れず、扱いません -- 特に。 The 終了する, ログアウト,
破る, 続ける, , シフト ビルトインは、で始まる引数を受け入れて処理します -
必要とせずに --。 引数を受け入れるが、として指定されていない他のビルトイン
オプションを受け入れると、で始まる引数が解釈されます - 無効なオプションとして、 --
この解釈を防ぐために。
: [引数]
無効; コマンドは拡張以外には何もしません 引数 と実行
指定されたリダイレクト。 ゼロの終了コードが返されます。

. ファイル名 [引数]
source ファイル名 [引数]
からコマンドを読み取って実行します ファイル名 現在のシェル環境で戻ります
から実行された最後のコマンドの終了ステータス ファイル名。 場合 ファイル名 しない
スラッシュ、ファイル名を含む パス を含むディレクトリを検索するために使用されます
ファイル名。 で検索されたファイル パス 実行可能である必要はありません。 いつ bash ではありません
in POSIX モード、ファイルが見つからない場合は、現在のディレクトリが検索されます パス。 場合
  ソースパス オプションを 買い物 組み込みコマンドがオフになっている、 パス ではありません
検索しました。 もしあれば 引数 供給されると、それらは位置パラメータになります
いつ ファイル名 実行されます。 それ以外の場合、位置パラメータは変更されません。 The
return statusは、スクリプト内で終了した最後のコマンドのステータスです(ない場合は0)
コマンドが実行される)、および場合はfalse ファイル名 見つからないか、読み取ることができません。

alias [-p] [[=]...]
エイリアス 引数なしまたは -p オプションは、エイリアスのリストを出力します
フォーム alias = 標準出力で。 引数が指定されている場合、エイリアスは
それぞれに定義 その 与えられます。 の末尾のスペース を引き起こす
エイリアスが展開されたときにエイリアス置換をチェックする次の単語。 為に
引数リストで 名前と値が提供されます
エイリアスのが出力されます。 エイリアス がない限りtrueを返します 与えられていない
エイリアスが定義されました。

bg [ジョブスペック ...]
中断された各ジョブを再開します ジョブスペック バックグラウンドで、それがで始まったかのように
&。 場合 ジョブスペック 存在しない、シェルの概念 現在 ジョブ 使用されている。 bg
ジョブスペック ジョブ制御が無効になっている場合、またはジョブとともに実行されている場合に実行されない限り、0を返します。
制御が有効、指定されたもの ジョブスペック 見つからなかったか、仕事なしで開始されました
コントロール。

バインド [-m キーマップ] [-lpsvPSVX]
バインド [-m キーマップ] [-q function] [-u function] [-r キー配列]
バインド [-m キーマップ] -f ファイル名
バインド [-m キーマップ] -x キー配列:シェルコマンド
バインド [-m キーマップ] キー配列:関数名
バインド readline-コマンド
現在の表示 読み込まれた行 キーと関数のバインディング、キーシーケンスをにバインドします
読み込まれた行 関数またはマクロ、またはを設定します 読み込まれた行 変数。 オプション以外の各引数
に表示されるコマンドです .inputrc、ただし、各バインディングまたはコマンドは
別の引数として渡されます。 例:'"\ Cx \ Cr":re-read-init-file'。 オプション、もし
提供され、次の意味があります。
-m キーマップ
  キーマップ 後続のバインディングの影響を受けるキーマップとして。
許容 キーマップ 名前は emacs、 emacs-標準、 emacs-meta、 emacs-ctlx、
vi、 vi-move、 vi-コマンド, vi-挿入. vi に相当します vi-コマンド;
エマックス に相当します emacs標準.
-l すべての名前を一覧表示します 読み込まれた行 機能します。
-p ディスプレイ 読み込まれた行 関数名とバインディングは、次のようになります。
読み直してください。
-P 現在のリスト 読み込まれた行 関数名とバインディング。
-s ディスプレイ 読み込まれた行 マクロにバインドされたキーシーケンスとマクロが出力する文字列
それらが再読されることができるような方法で。
-S ディスプレイ 読み込まれた行 マクロにバインドされたキーシーケンスとマクロが出力する文字列。
-v ディスプレイ 読み込まれた行 変数の名前と値は、次のようになります。
読み直してください。
-V 現在のリスト 読み込まれた行 変数の名前と値。
-f ファイル名
からキーバインディングを読み取る ファイル名.
-q function
どのキーが名前付きを呼び出すかについてのクエリ function.
-u function
名前付きにバインドされているすべてのキーのバインドを解除します function.
-r キー配列
の現在のバインディングを削除します キー配列.
-x キー配列:シェルコマンド
原因となる シェルコマンド いつでも実行されます キー配列 入力されます。 いつ
シェルコマンド 実行されると、シェルは READLINE_LINE 変数を
の内容 読み込まれた行 ラインバッファと READLINE_POINT 変数を
挿入ポイントの現在の場所。 実行したコマンドが変更された場合
の値 READLINE_LINE or READLINE_POINT、これらの新しい値は
編集状態に反映されます。
-X シェルコマンドおよび関連するコマンドにバインドされているすべてのキーシーケンスを一覧表示します
入力として再利用できる形式で。

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

破る [n]
内から終了します for, while, までまたは select ループ。 もしも n 指定、ブレーク n
レベル。 n 1以上である必要があります。 n 囲んでいるループの数よりも大きい、すべて
囲んでいるループは終了します。 戻り値は0です。 n またはより大きくない
1に等しい。

ビルトイン シェルビルトイン [引数]
指定されたシェルビルトインを実行し、それを渡します 引数、およびその出口を返します
状態。 これは、名前がシェルと同じである関数を定義するときに役立ちます
ビルトイン、関数内のビルトインの機能を保持します。 The cd
ビルトインは通常、この方法で再定義されます。 次の場合、戻りステータスはfalseです。
シェルビルトイン シェルビルトインコマンドではありません。

発信者 []
アクティブなサブルーチン呼び出し(シェル関数またはスクリプト)のコンテキストを返します
で実行 . or source ビルトイン)。 それなし , 発信者 行を表示します
現在のサブルーチン呼び出しの番号とソースファイル名。 非負の場合
整数は次のように提供されます , 発信者 行番号、サブルーチン名、およびを表示します
現在の実行呼び出しスタック内のその位置に対応するソースファイル。
この追加情報は、たとえば、スタックトレースを印刷するために使用できます。 The
現在のフレームはフレーム0です。シェルが実行されていない場合を除き、戻り値は0です。
サブルーチン呼び出しまたは 通話中の有効な位置に対応していません
スタック。

cd [-L|[-P [-e]] [-@]] [DIR]
現在のディレクトリをに変更します DIR。 もし DIR が提供されていない場合、の値 ホーム
シェル変数がデフォルトです。 次の追加の引数 DIR 無視されます。
変数 CDPATH を含むディレクトリの検索パスを定義します DIR: 各
のディレクトリ名 CDPATH 検索されます DIR。 の代替ディレクトリ名
CDPATH コロン(:)で区切られます。 のnullディレクトリ名 CDPATH 同じです
現在のディレクトリとして、すなわち、 ``.''。 もしも DIR スラッシュ(/)で始まり、次に CDPATH
使用されません。 ザ・ -P オプションの原因 cd によって物理ディレクトリ構造を使用するには
トラバース中にシンボリックリンクを解決する DIR およびのインスタンスを処理する前 ..
in DIR (も参照してください -P オプションを セッションに 組み込みコマンド); the -L オプション力
のインスタンスを処理した後にリンクを解決することによってたどられるシンボリックリンク
.. in DIR。 場合 .. に現れる DIR、すぐに削除して処理します
からの前のパス名コンポーネント DIR、スラッシュまたはの先頭に戻る DIR。 場合
  -e オプションは付属しています -P、および現在の作業ディレクトリは
ディレクトリの変更が成功した後、正常に決定されました。 cd を返します
失敗したステータス。 それをサポートするシステムでは、 -@ オプションは
ディレクトリとしてのファイルに関連付けられた拡張属性。 の議論 - is
に変換 $ OLDPWD ディレクトリの変更が試行される前。 空でない場合
からのディレクトリ名 CDPATH 使用されている場合、または - は最初の引数であり、
ディレクトリの変更が成功しました。新しい作業ディレクトリの絶対パス名です。
標準出力に書き込まれます。 ディレクトリがだった場合、戻り値はtrueです。
正常に変更されました。 それ以外の場合はfalse。

command [-pVv] command [argは ...]
ラン command   引数 通常のシェル関数ルックアップを抑制します。 ビルトインのみ
コマンドまたはにあるコマンド パス 実行されます。 の場合 -p オプションが与えられ、
の検索 command のデフォルト値を使用して実行されます パス つまり
すべての標準ユーティリティを見つけることが保証されています。 いずれかの場合 -V or -v オプションがある
提供、の説明 command 印刷されます。 The -v オプションはXNUMXつの単語を引き起こします
呼び出すために使用されるコマンドまたはファイル名を示します command 表示されます。 the -V
オプションは、より詳細な説明を生成します。 の場合 -V or -v オプションが提供されます、
次の場合、終了ステータスは0です。 command が見つかりました。見つからなかった場合は1です。 どちらのオプションも
提供され、エラーが発生した、または command が見つかりません。終了ステータスは127です。
それ以外の場合、の終了ステータス command 組み込みはの終了ステータスです command.

コンプゲン [オプション] [単語]
の可能な完了一致を生成します 単語 による オプションs、
によって受け入れられた任意のオプションである コンプリート ビルトイン -p & -r,
一致を標準出力に書き込みます。 使用する場合 -F or -C オプション、
プログラム可能な完了機能によって設定されるさまざまなシェル変数、
利用可能で、有用な値はありません。

一致は、プログラム可能な完了の場合と同じ方法で生成されます
コードは、同じものを使用して完了仕様から直接それらを生成していました
フラグ。 もしも 単語 が指定されている場合、一致する補完のみ 単語 なります
表示されます。

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

コンプリート [-abcdefgjksuv] [-o 補償オプション] [-DE] [-A アクション] [-G グロブパット] [-W 単語リスト] [-F
function] [-C command]
[-X フィルターパット] [-P 接頭辞] [-S サフィックス] [ ...]
コンプリート -pr [-DE] [ ...]
それぞれへの引数を指定する 完了する必要があります。 の場合 -p オプションがある
提供されているか、オプションが提供されていない場合、既存の完了仕様は次のとおりです。
入力として再利用できるように印刷されています。 The -r オプションはを削除します
それぞれの完成仕様 、または、ない場合 sが提供され、すべて
完成仕様。 The -D オプションは、残りのオプションと
アクションは「デフォルト」コマンド補完に適用する必要があります。 つまり、完了
以前に完了が定義されていないコマンドで試行されました。 The -E
オプションは、残りのオプションとアクションが「空」に適用される必要があることを示します
コマンド補完; つまり、空白行で完了が試行されました。

単語補完が
試みられたのは上記の プログラム対応 完成.

他のオプションを指定した場合、その意味は次のとおりです。 への引数 -G,
-W, -X オプション(および、必要に応じて、 -P & -S オプション)を引用する必要があります
の前に拡張からそれらを保護します コンプリート ビルトインが呼び出されます。
-o 補償オプション
  補償オプション compspecの動作のいくつかの側面を制御します
補完の単純な生成。 補償オプション 次のいずれかである可能性があります。
bashデフォルト
デフォルトの残りを実行します bash compspecの場合の完了
一致は生成されません。
デフォルト compspecの場合は、readlineのデフォルトのファイル名補完を使用します
一致は生成されません。
ディレクトリ名
compspecが生成しない場合は、ディレクトリ名の補完を実行します
一致します。
ファイル名
compspecがファイル名を生成することをreadlineに伝えて、
ファイル名固有の処理を実行します(スラッシュをに追加するなど)
ディレクトリ名、特殊文字の引用、または抑制
末尾のスペース)。 シェル関数で使用することを目的としています。
引用符なし 完成した単語が引用されている場合は引用しないようにreadlineに伝えます
ファイル名(ファイル名を引用することがデフォルトです)。
立つ瀬がない 単語にスペース(デフォルト)を追加しないようにreadlineに指示する
行の終わりに完了しました。
プラスディレクトリ
compspecで定義された一致が生成された後、ディレクトリ
名前の補完が試行され、一致するものが
他のアクションの結果。
-A アクション
  アクション 可能なリストを生成するには、次のいずれかになります。
完了:
alias エイリアス名。 次のように指定することもできます -a.
配列変数
配列変数名。
拘束 readlineの キーバインディング名。
ビルトイン シェルビルトインコマンドの名前。 次のように指定することもできます -b.
command コマンド名。 次のように指定することもできます -c.
ディレクトリにジョブを開始します。
ディレクトリ名。 次のように指定することもできます -d.
無効
無効になっているシェルビルトインの名前。
使用可能 有効なシェルビルトインの名前。
export エクスポートされたシェル変数の名前。 次のように指定することもできます -e.
file ファイル名。 次のように指定することもできます -f.
function
シェル関数の名前。
グループヘッド グループ名。 次のように指定することもできます -g.
ヘルプトピック
によって受け入れられたヘルプトピック 助けます 内蔵。
hostname
によって指定されたファイルから取得されたホスト名 ホストファイル shell
変数に保存します.
ジョブ ジョブ制御がアクティブな場合のジョブ名。 次のように指定することもできます -j.
キーワード シェル予約語。 次のように指定することもできます -k.
ランニング ジョブ制御がアクティブな場合の実行中のジョブの名前。
サービス サービス名。 次のように指定することもできます -s.
セトプト の有効な引数 -o オプションを セッションに 内蔵。
買い物 によって受け入れられたシェルオプション名 買い物 内蔵。
信号 信号名。
停止 ジョブ制御がアクティブな場合の、停止したジョブの名前。
user ユーザー名。 次のように指定することもできます -u.
変数
すべてのシェル変数の名前。 次のように指定することもできます -v.
-C command
command サブシェル環境で実行され、その出力は次のように使用されます。
可能な完了。
-F function
シェル機能 function 現在のシェル環境で実行されます。
関数が実行されると、最初の引数($1)はの名前です
引数が完了しているコマンド、XNUMX番目の引数($2)であり、
完成した単語とXNUMX番目の引数($3)は前の単語です
現在のコマンドラインで完成している単語。 終わったら、
可能な補完は、の値から取得されます 遵守する
配列変数。
-G グロブパット
パス名拡張パターン グロブパット 可能なものを生成するために拡張されます
完了。
-P 接頭辞
接頭辞 結局のところ、可能な各完了の最初に追加されます
他のオプションが適用されています。
-S サフィックス
サフィックス 他のすべてのオプションが
適用されました。
-W 単語リスト
  単語リスト 内の文字を使用して分割されます IFS としての特別な変数
区切り文字、および結果の各単語が展開されます。 可能な完了
完成した単語に一致する結果リストのメンバーです。
-X フィルターパット
フィルターパット パス名の展開に使用されるパターンです。 それはに適用されます
上記のオプションによって生成された可能な補完のリストと
引数、および各完了一致 フィルターパット リストから削除されます。
一流 ! in フィルターパット パターンを否定します。 この場合、任意の完了
一致しません フィルターパット を削除しました。

無効なオプションが指定されていない限り、戻り値はtrueです。
-p or -r なしで供給されます 引数、削除しようとします
の完了仕様 仕様が存在しない、またはエラー
完了仕様の追加が発生します。

コンポート [-o オプション] [-DE] [+o オプション] []
それぞれの完了オプションを変更します による オプションs、または
ない場合は現在実行中の完了 が提供されます。 いいえの場合 オプションsが与えられ、
それぞれの完了オプションを表示します または現在の完了。 ザ
の可能な値 オプション に有効なものは コンプリート 上記のビルトイン。
  -D オプションは、残りのオプションが「デフォルト」に適用されることを示します
コマンド補完; つまり、コマンドの完了が試行されました。
完了は以前に定義されています。 The -E オプションは、残りの
オプションは「空の」コマンド補完に適用する必要があります。 つまり、完了が試行されました
空白行に。

無効なオプションが指定されていない限り、戻り値はtrueです。
のオプションを変更するには 完了仕様が存在しない、または
出力エラーが発生します。

続ける [n]
囲みの次の反復を再開します for, while, までまたは select ループ。 もしも n
が指定されている場合は、 n囲んでいるループ。 n 1以上である必要があります。 n より大きい
囲んでいるループの数よりも、最後の囲んでいるループ(「トップレベル」
ループ)が再開されます。 戻り値は0です。 n 以上ではない
1.

宣言する [-aAfFgilnrtux] [-p] [[=]...]
タイプセット [-aAfFgilnrtux] [-p] [[=]...]
変数を宣言するか、属性を指定します。 いいえの場合 sが与えられてから表示されます
変数の値。 The -p オプションは、の属性と値を表示します
。 時 -p と一緒に使用されます 引数、追加オプション、以外 -f
& -F、は無視されます。 いつ -p なしで供給されます 引数、それは表示されます
によって指定された属性を持つすべての変数の属性と値
追加オプション。 他のオプションが提供されていない場合 -p, 宣言する 表示されます
すべてのシェル変数の属性と値。 The -f オプションは制限します
シェル関数に表示します。 ザ -F オプションは機能の表示を禁止します
定義; 関数名と属性のみが出力されます。 の場合 拡張デバッグ
シェルオプションは、を使用して有効になります 買い物、ソースファイル名と行番号。
機能が定義されていることも表示されます。 The -F オプションは意味します -fを選択します。 -g
オプションは、変数がグローバルスコープで作成または変更されるように強制します。
宣言する シェル関数で実行されます。 それ以外の場合は無視されます。 The
次のオプションを使用して、指定された変数への出力を制限できます
属性または変数に属性を与える:
-a インデックス付き配列変数です(を参照) 配列 上記)。
-A 連想配列変数です(を参照) 配列 上記)。
-f 関数名のみを使用してください。
-i 変数は整数として扱われます。 算術評価(参照 算術
評価 上記)は、変数に値が割り当てられたときに実行されます。
-l 変数に値が割り当てられると、すべて大文字になります。
小文字に変換されます。 大文字の属性は無効になっています。
-n それぞれを与える   名前参照 属性、それを別の名前参照にします
変数。 その他の変数は、次の値によって定義されます。 。 すべて
への参照と割り当て 、変更することを除いて -n 属性を使用する。
それ自体は、によって参照される変数に対して実行されます の値。 ザ -n
属性を配列変数に適用することはできません。
-r アカウントを作成し ■読み取り専用。 これらの名前には、次の方法で値を割り当てることはできません。
後続の割り当てステートメントまたは未設定。
-t それぞれを与える   トレース 属性。 トレースされた関数は、 DEBUG &
リターン 呼び出し元のシェルからのトラップ。 トレース属性には特別なものはありません
変数の意味。
-u 変数に値が割り当てられると、すべての小文字は
大文字に変換されます。 小文字の属性は無効になっています。
-x Mark Hodder ■環境を介して後続のコマンドにエクスポートするため。

`-'の代わりに`+'を使用すると、その代わりに属性がオフになります。
+a 配列変数を破棄するために使用することはできません +r 読み取り専用は削除されません
属性。 関数で使用する場合、 宣言する & タイプセット それぞれを作る ローカル、として
ローカル コマンド、ただし -g オプションが提供されます。 変数名が
続いて=、変数の値はに設定されます 。 使用時 -a or -A
配列変数、追加の属性を作成するための複合代入構文
後続の割り当てまで有効になりません。 戻り値は0です。
無効なオプションが検出された場合、「-f」を使用して関数を定義しようとします
foo = bar''、読み取り専用変数に値を割り当てようとします。
化合物を使用せずに配列変数に値を割り当てるために作成されます
代入構文(を参照) 配列 上記)、のXNUMXつ 有効なシェルではありません
変数名、読み取り専用の読み取り専用ステータスをオフにしようとしました
変数、配列変数の配列ステータスをオフにしようとする、または
存在しない関数を表示しようとしました -f.

Dirs [-clpv] [+n] [-n]
オプションなしで、現在記憶されているディレクトリのリストを表示します。 The
デフォルトの表示は、ディレクトリ名がスペースで区切られたXNUMX行です。
ディレクトリはリストに追加されます pushdは 指図; NS popdを コマンドは削除します
リストからのエントリ。
-c すべてのエントリを削除して、ディレクトリスタックをクリアします。
-l フルパス名を使用してリストを作成します。 デフォルトのリスト形式は
ホームディレクトリを示すチルダ。
-p XNUMX行にXNUMXつのエントリでディレクトリスタックを印刷します。
-v ディレクトリスタックをXNUMX行にXNUMXつのエントリで印刷し、各エントリの前に
スタック内のそのインデックス。
+n 表示する nで示されるリストの左から数えるエントリ Dirs いつ
オプションなしで呼び出され、ゼロから始まります。
-n 表示する nで示されるリストの右から数えるエントリ Dirs
オプションなしで呼び出された場合、ゼロから始まります。

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

勘当します [-ar] [-h] [ジョブスペック ...]
オプションなしで、それぞれを削除します ジョブスペック アクティブなジョブのテーブルから。 もしも ジョブスペック is
存在せず、どちらも -a-r オプションが提供され、 現在 ジョブ is
使用済み。 の場合 -h オプションが与えられ、それぞれ ジョブスペック テーブルから削除されませんが、
のようにマークされています シグアップ シェルが受信した場合、はジョブに送信されません シグアップ。 場合
いいえ ジョブスペック 供給され、 -a オプションとは、すべてのジョブを削除またはマークすることを意味します。 the -r
オプションなし ジョブスペック 引数は、操作を実行中のジョブに制限します。 リターン
値が0でない限り、 ジョブスペック 有効なジョブを指定していません。

echo [-ねえ] [argは ...]
出力 argはs、スペースで区切られ、その後に改行が続きます。 返品状況は
書き込みエラーが発生しない限り0。 もしも -n が指定されている場合、末尾の改行は
抑制されます。 の場合 -e オプションが与えられ、次の円記号の解釈-
エスケープ文字が有効になります。 The -E オプションはこれらの解釈を無効にします
デフォルトで解釈されるシステムでも、エスケープ文字。 The
xpg_echo シェルオプションを使用して、動的に判断するかどうかを決定できます echo
デフォルトでは、これらのエスケープ文字を展開します。 echo 解釈しない -- を意味する
オプションの終わり。 echo 次のエスケープシーケンスを解釈します。
\a アラート(ベル)
\b バックスペース
\c それ以上の出力を抑制する
\e
\E エスケープ文字
\f フォームフィード
\n 改行
\r キャリッジリターン
\t 水平タブ
\v 垂直タブ
\\ バックスラッシュ
\0NNN 値がXNUMX進値であるXNUMXビット文字 NNN (XNUMXからXNUMX
XNUMX進数)
\xHH 値がXNUMX進値であるXNUMXビット文字 HH (一つか二つ
XNUMX進数)
\uはぁ 値が10646進値であるUnicode(ISO / IEC XNUMX)文字
はぁ (XNUMX〜XNUMX桁のXNUMX進数)
\Uフフフフフフ
値が10646進値であるUnicode(ISO / IEC XNUMX)文字
フフフフフフ (XNUMX〜XNUMX桁のXNUMX進数)

enable [-a] [-dnps] [-f ファイル名] [ ...]
組み込みのシェルコマンドを有効または無効にします。 ビルトインを無効にすると、ディスクが許可されます
シェルビルトインと同じ名前のコマンドを使用せずに実行する
シェルは通常ビルトインを検索しますが、フルパス名を指定します
ディスクコマンドの前。 もしも -n それぞれが使用されます 無効になっています; それ以外は、  
有効。 たとえば、 test 経由で見つかったバイナリ パス その代わりに
シェルビルトインバージョン、「enable-ntest」を実行します。 The -f オプションは、新しいものをロードすることを意味します
組み込みコマンド 共有オブジェクトから ファイル名、動的をサポートするシステム
読み込み中。 The -d オプションは、以前にロードされたビルトインを削除します -f。 いいえの場合
引数が与えられている場合、または -p オプションが提供され、シェルビルトインのリスト
印刷されます。 他のオプション引数がない場合、リストはすべての有効なシェルで構成されます
ビルトイン。 もしも -n が提供されている場合、無効になっているビルトインのみが印刷されます。 もしも -a is
提供された場合、印刷されるリストにはすべてのビルトインが含まれ、
それぞれが有効になっているわけではありません。 もしも -s が供給されると、出力はPOSIXに制限されます
特別 ビルトイン。 戻り値は、 シェルビルトインではない、または
共有オブジェクトから新しいビルトインをロードするときにエラーが発生しました。

評価する [argは ...]
  argはsが読み取られ、XNUMXつのコマンドに連結されます。 このコマンドは
次に、シェルによって読み取られて実行され、その終了ステータスが値として返されます。
of 評価する。 ない場合 引数、またはnull引数のみ、 評価する 0を返します。

exec [-NS] [-a ] [ command [引数]]
If command 指定すると、シェルが置き換えられます。 新しいプロセスは作成されません。 The
引数 の引数になります command。 もし -l オプションが提供され、シェル
に渡されたXNUMX番目の引数の先頭にダッシュを配置します command。 これは
ログイン(1)します。 NS -c オプションの原因 command 空で実行されます
環境。 もしも -a 供給されると、シェルは通過します のゼロ番目の引数として
実行されたコマンド。 もしも command なんらかの理由で実行できません。
インタラクティブシェルは、 実行失敗 シェルオプションが有効になっています。 その中で
場合は、失敗を返します。 ファイルができない場合、対話型シェルは失敗を返します
実行されます。 もしも command が指定されていない場合、リダイレクトは
現在のシェルであり、戻りステータスは0です。リダイレクトエラーがある場合、
リターンステータスは1です。

終了する [n]
シェルを次のステータスで終了させます n。 場合 n 省略した場合、終了ステータスは
最後に実行されたコマンドのそれ。 の罠 EXIT シェルの前に実行されます
終了します。

export [-fn] [[=単語]]..。
export -p
付属 の環境への自動エクスポート用にマークされています
続いて実行されるコマンド。 の場合 -f オプションが与えられ、 を参照してください。
機能。 いいえの場合 与えられた場合、または -p オプションが提供され、名前のリスト
エクスポートされたすべての変数のが出力されます。 The -n オプションを指定すると、エクスポートプロパティは次のようになります。
それぞれから削除されます 。 変数名の後に=が続く場合単語、の値
変数はに設定されます 単語. export 無効でない限り、終了ステータス0を返します
オプションが検出されました。 有効なシェル変数名ではない、または -f
が付属しています それは機能ではありません。

fc [-e エナメ] [-lnr] [最初の] [last]
fc -s [パット=代表] [CMD]
最初のフォームは、コマンドの範囲を選択します 最初の 〜へ last 履歴リストから
そして、それらを表示または編集して再実行します。 & last として指定することができます
文字列(その文字列で始まる最後のコマンドを見つけるため)または数値(
履歴リストへのインデックス。負の数は、からのオフセットとして使用されます。
現在のコマンド番号)。 もしも last 指定されていない場合、現在のコマンドに設定されます
リスト用(「fc-l-10」が最後の10個のコマンドを出力するように)および 最初の
それ以外は。 もしも 最初の 指定されていない場合は、前の編集コマンドに設定されます
と-16のリスト。

  -n オプションは、リストするときにコマンド番号を抑制します。 The -r オプションが逆になります
コマンドの順序。 の場合 -l オプションが指定されている場合、コマンドはにリストされています
標準出力。 それ以外の場合は、によって与えられたエディタ エナメ ファイルで呼び出されます
それらのコマンドが含まれています。 もしも エナメ 与えられていない、の値 FC編集 変数
が使用され、の値は 環境変数EDITOR if FC編集 設定されていません。 どちらの変数も設定されていない場合、
vi 使用されている。 編集が完了すると、編集されたコマンドがエコーされて実行されます。

XNUMX番目の形式では、 command の各インスタンスの後に再実行されます パット 置き換えられます
by 代表. Command と同じように解釈されます 最初の その上。 一緒に使用するのに便利なエイリアス
これは``r = "fc -s"''であるため、 `` r cc''と入力すると、で始まる最後のコマンドが実行されます。
「cc」と入力して「r」と入力すると、最後のコマンドが再実行されます。

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

fg [ジョブスペック]
履歴書 ジョブスペック フォアグラウンドで、それを現在の仕事にします。 もしも ジョブスペック ではありません
現在、シェルの概念 現在 ジョブ 使用されている。 戻り値は
フォアグラウンドに配置されたコマンドの、またはジョブ制御が
無効にするか、ジョブ制御を有効にして実行した場合は、 ジョブスペック 有効なを指定していません
仕事または ジョブスペック ジョブ制御なしで開始されたジョブを指定します。

取得 オプト文字列 [引数]
取得 位置パラメータを解析するためにシェルプロシージャによって使用されます。 オプト文字列
認識されるオプション文字が含まれています。 文字の後に
コロンの場合、オプションには引数が必要です。引数は次のように区切る必要があります。
空白でそれ。 コロンと疑問符の文字は、次のように使用することはできません。
オプション文字。 呼び出されるたびに、 取得 次のオプションを
シェル変数 、初期化 存在しない場合、およびのインデックス
変数に処理される次の引数 最適化. 最適化 1に初期化されます
シェルまたはシェルスクリプトが呼び出されるたび。 オプションが必要な場合
引数、 取得 その引数を変数に配置します オプターグ。 シェルはします
リセットされない 最適化 自動的; 複数の呼び出しの間に手動でリセットする必要があります
取得 新しいパラメータセットを使用する場合は、同じシェル呼び出し内。

オプションの終わりに遭遇したとき、 取得 より大きな戻り値で終了します
ゼロより。 最適化 オプション以外の最初の引数のインデックスに設定され、
に設定されています ?。

取得 通常は位置パラメータを解析しますが、さらに引数が指定されている場合
in 引数, 取得 代わりにそれらを解析します。

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

無効なオプションが表示された場合、 取得 場所? の中へ そして、沈黙していない場合は、
エラーメッセージと設定解除 オプターグ。 場合 取得 サイレント、オプション文字
見つかった場所に配置されます オプターグ 診断メッセージは出力されません。

必要な引数が見つからない場合、および 取得 サイレントではない、疑問符(?)
置かれる , オプターグ が設定されておらず、診断メッセージが出力されます。 もしも
取得 サイレント、次にコロン(:)に配置されます & オプターグ に設定されています
オプション文字が見つかりました。

取得 指定または未指定のオプションが見つかった場合はtrueを返します。 戻ります
オプションの終わりに遭遇した場合、またはエラーが発生した場合はfalse。

ハッシュ [-lr] [-p ファイル名] [-DT] []
毎回 ハッシュ コマンドのフルパス名が呼び出されます によって決定されます
のディレクトリを検索する $ PATH そして思い出した。 以前に覚えていたもの
パス名は破棄されます。 の場合 -p オプションが指定されている場合、パス検索は実行されません。
& ファイル名 コマンドの完全なファイル名として使用されます。 The -r オプションは
記憶されているすべての場所を忘れるシェル。 ザ -d オプションを選択すると、シェルは忘れてしまいます
それぞれの記憶された場所 。 もし -t オプションが提供され、完全
それぞれのパス名 対応するものが印刷されます。 複数の場合 引数は
付属 -t ハッシュされたフルパス名の前に出力されます。 ザ -l
オプションを指定すると、出力が入力として再利用できる形式で表示されます。 もしも
引数が与えられていない場合、または -l 提供され、記憶されている情報
コマンドが出力されます。 戻りステータスは、 見つからない、または
無効なオプションが指定されています。

助けます [-dms] [パターン]
組み込みコマンドに関する役立つ情報を表示します。 もしも パターン 指定されている、 助けます
一致するすべてのコマンドに関する詳細なヘルプを提供します パターン; それ以外の場合は、すべての
ビルトインとシェル制御構造が印刷されます。
-d それぞれの簡単な説明を表示します パターン
-m それぞれの説明を表示する パターン マンページのような形式で
-s それぞれの簡単な使用法の概要のみを表示します パターン

一致するコマンドがない場合を除き、戻りステータスは0です。 パターン.

history [n]
history -c
history -d オフセット
history -anrw [ファイル名]
history -p argは [argは ...]
history -s argは [argは ...]
オプションを指定しない場合は、コマンド履歴リストを行番号とともに表示します。 リストされている行
また、 * 変更されました。 の議論 n 最後のものだけをリストします n 行。 の場合
シェル変数 ヒストタイムフォーマット nullではなく設定され、フォーマット文字列として使用されます
for ストラフタイム(3)表示された各履歴に関連付けられたタイムスタンプを表示します
エントリ。 フォーマットされたタイムスタンプと
履歴行。 もしも ファイル名 提供され、履歴ファイルの名前として使用されます。
そうでない場合は、 ヒストファイル 使用されている。 オプションが提供されている場合、次のものがあります
意味:
-c すべてのエントリを削除して、履歴リストをクリアします。
-d オフセット
位置の履歴エントリを削除します オフセット.
-a 「新しい」履歴行(最初から入力された履歴行)を追加します
現在の bash セッション)履歴ファイルに。
-n 履歴ファイルからまだ読み取られていない履歴行を
現在の履歴リスト。 これらは、以降履歴ファイルに追加された行です。
現在の始まり bash セッション。
-r 履歴ファイルの内容を読み取り、現在の履歴に追加します
リスト。
-w 現在の履歴リストを履歴ファイルに書き込み、履歴を上書きします
ファイルの内容。
-p 以下の履歴置換を実行します 引数 結果をに表示します
標準出力。 結果を履歴リストに保存しません。 各
argは 通常の履歴拡張を無効にするには、引用符で囲む必要があります。
-s を保存する 引数 履歴リストに単一のエントリとして。 の最後のコマンド
履歴リストは、 引数 追加されます。

Status ヒストタイムフォーマット 変数が設定され、タイムスタンプ情報が関連付けられます
各履歴エントリは、履歴コメントでマークされた履歴ファイルに書き込まれます
キャラクター。 履歴ファイルを読み込むと、履歴コメントで始まる行
文字の直後に数字が続く場合は、
前の履歴行。 無効なオプションがない限り、戻り値は0です。
発生しました、履歴ファイルの読み取りまたは書き込み中にエラーが発生しました、無効です
オフセット の引数として提供されます -d、またはとして提供される履歴拡張
への議論 -p 失敗します。

jobs [-Inprs] [ ジョブスペック ...]
jobs -x command [ 引数 ...]
最初のフォームには、アクティブなジョブが一覧表示されます。 オプションの意味は次のとおりです。
-l 通常の情報に加えて、プロセスIDをリストします。
-n ユーザー以降にステータスが変更されたジョブに関する情報のみを表示します
彼らのステータスが最後に通知されました。
-p ジョブのプロセスグループリーダーのプロセスIDのみをリストします。
-r 実行中のジョブのみを表示します。
-s 停止したジョブのみを表示します。

If ジョブスペック が与えられると、出力はそのジョブに関する情報に制限されます。 ザ
無効なオプションが検出された場合、または無効な場合を除いて、ステータスは0になります。 ジョブスペック is
供給。

Status -x オプションが提供されます、 jobs を置き換えます ジョブスペック 見つかった command or 引数
対応するプロセスグループIDを使用して、実行します command それを渡す 引数,
終了ステータスを返します。

kill [-s シグスペック | -n シグナム | -シグスペック] [ピッド | ジョブスペック]..。
kill -l [シグスペック | 終了ステータス]
によって指定された信号を送信します シグスペック or シグナム によって指定されたプロセスに ピッド or
ジョブスペック. シグスペック 次のような大文字と小文字を区別しない信号名のいずれかです シグキル (または
なしで SIG プレフィックス)または信号番号。 シグナム は信号番号です。 もしも シグスペック
存在しない場合 シグターム が想定されます。 の議論 -l 信号名を一覧表示します。
引数が指定されている場合 -l 与えられた、信号の名前
引数に対応するものがリストされ、戻りステータスは0です。
終了ステータス への議論 -l 信号番号または
シグナルによって終了したプロセスの終了ステータス。 kill 少なくともXNUMXつはtrueを返します
シグナルは正常に送信されました。エラーが発生した場合、または無効なオプションが
遭遇した。

argは [argは ...]
argは 評価される算術式です(を参照) 算術 評価
その上)。 最後の場合 argは 0と評価され、 1を返します。 それ以外の場合は0が返されます。

ローカル [オプション] [[=]...]
引数ごとに、 作成され、割り当てられます を選択します。
オプション によって受け入れられるオプションのいずれかである可能性があります 宣言する。 時 ローカル 内で使用されます
関数、それは変数を引き起こします 目に見えるスコープをそれに制限する
関数とその子。 オペランドなしで、 ローカル ローカルのリストを書き込みます
標準出力への変数。 使用するのはエラーです ローカル 内にないとき
関数。 戻りステータスは0です。 ローカル 関数の外で使用され、
無効 供給されている、または 読み取り専用変数です。

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

マップファイル [-n カウント] [-O 起源] [-s カウント] [-t] [-u fd] [-C 折り返し電話] [-c 量子] [配列]
読み取り配列 [-n カウント] [-O 起源] [-s カウント] [-t] [-u fd] [-C 折り返し電話] [-c 量子]
[配列]
標準入力からインデックス付き配列変数に行を読み取ります 配列、またはから
ファイル記述子 fd もし -u オプションが提供されます。 変数 マップファイル
デフォルト 配列。 オプションが提供されている場合、その意味は次のとおりです。
-n せいぜいコピー カウント 行。 もしも カウント 0の場合、すべての行がコピーされます。
-O に割り当てを開始します 配列 インデックスで 起源。 デフォルトのインデックスは0です。
-s 最初の廃棄 カウント 行が読み取られます。
-t 読み取られた各行から末尾の改行を削除します。
-u ファイル記述子から行を読み取る fd 標準入力の代わりに。
-C 評価します 折り返し電話 毎回 量子 行が読み取られます。 The -c オプションは指定します
量子.
-c 各呼び出しの間に読み取られる行数を指定します 折り返し電話.

If -C なしで指定されます -c、デフォルトのクォンタムは5000です。 折り返し電話 is
評価されると、割り当てられる次の配列要素のインデックスが提供され、
追加の引数としてその要素に割り当てられる行。 折り返し電話 is
行が読み取られた後、配列要素が割り当てられる前に評価されます。

明示的なオリジンが提供されていない場合、 マップファイル クリアします 配列 割り当てる前に
それに。

マップファイル 無効なオプションまたはオプション引数がない限り、正常に戻ります
供給、 配列 が無効または割り当て不能である場合、または 配列 インデックス付き配列ではありません。

popdを [-n] [+n][-n]
ディレクトリスタックからエントリを削除します。 引数なしで、上部を削除します
スタックからディレクトリを作成し、 cd 新しいトップディレクトリに移動します。 引数、
提供されている場合、次の意味があります。
-n からディレクトリを削除するときのディレクトリの通常の変更を抑制します
スタック。スタックのみが操作されるようにします。
+n を削除します nで示されるリストの左から数えるエントリ Dirs,
ゼロから始まります。 例: `` popd +0''は最初のディレクトリを削除し、
1番目の「ポップ+XNUMX」。
-n を削除します nで示されるリストの右から数えるエントリ Dirs,
ゼロから始まります。 例: `` popd -0''は最後のディレクトリを削除し、
最後から1番目の「popd-XNUMX」。

Status popdを コマンドは成功しました、 Dirs 同様に実行され、リターン
ステータスは0です。 popdを 無効なオプションが検出された場合、ディレクトリはfalseを返します
スタックが空であるか、存在しないディレクトリスタックエントリが指定されているか、またはディレクトリ
変更は失敗します。

printf [-v VAR] 形式でアーカイブしたプロジェクトを保存します. [引数]
フォーマットされたものを書く 引数 の制御下で標準出力に
形式でアーカイブしたプロジェクトを保存します.を選択します。 -v オプションを指定すると、出力が変数に割り当てられます VAR むしろ
標準出力に出力されるよりも。

  形式でアーカイブしたプロジェクトを保存します. は、次のXNUMX種類のオブジェクトを含む文字列です。プレーン
標準出力に単純にコピーされる文字、文字エスケープシーケンス、
これらは変換されて標準出力にコピーされ、仕様はフォーマットされます。
それぞれが次の連続した印刷を引き起こします 引数。 に加えて
標準 printf(1)フォーマット仕様、 printf 以下を解釈します
拡張:
%b 原因 printf 対応するバックスラッシュエスケープシーケンスを展開するには
引数 (それ以外で \c 出力を終了し、バックスラッシュを入力します \', \", \?
は削除されず、XNUMX進数はで始まるエスケープします \0 最大XNUMXつまで含めることができます
数字)。
%q 原因 printf 対応するを出力する 引数 次のような形式で
シェル入力として再利用されます。
%(日付fmt)T
原因 printf を使用した結果の日時文字列を出力します 日付fmt as
のフォーマット文字列 ストラフタイム(3)。 対応します 引数 整数です
エポックからの秒数を表します。 XNUMXつの特別な議論
値を使用できます。-1は現在の時刻を表し、-2は
シェルが呼び出された時間。 引数が指定されていない場合、変換は動作します
-1が与えられたかのように。 これは通常の例外です printf 行動。

非文字列形式指定子への引数は、C定数として扱われます。
先頭のプラスまたはマイナス記号が許可され、先頭の文字が単一または
二重引用符。値は次の文字のASCII値です。

  形式でアーカイブしたプロジェクトを保存します. すべてを消費するために必要に応じて再利用されます 引数。 もし 形式でアーカイブしたプロジェクトを保存します.
もっと必要 引数 提供されているよりも、追加のフォーマット仕様が動作します
必要に応じて、ゼロ値またはヌル文字列が指定されたかのように。 リターン
値は、成功した場合はゼロ、失敗した場合はゼロ以外です。

pushdは [-n] [+n][-n]
pushdは [-n] [DIR]
ディレクトリスタックの一番上にディレクトリを追加するか、スタックをローテーションして、
スタックの新しい最上位の現在の作業ディレクトリ。 引数なしで、
ディレクトリスタックが次の場合を除いて、上位0つのディレクトリを交換し、XNUMXを返します。
空の。 引数が指定されている場合、その意味は次のとおりです。
-n ディレクトリをに追加するときのディレクトリの通常の変更を抑制します
スタック。スタックのみが操作されるようにします。
+n スタックを回転させて、 nthディレクトリ(左から数えて
によって示されるリスト Dirs、ゼロから始まる)が一番上にあります。
-n スタックを回転させて、 nthディレクトリ(右から数えて
によって示されるリスト Dirs、ゼロから始まる)が一番上にあります。
DIR 追加 DIR 一番上のディレクトリスタックに移動し、新しい現在のディレクトリにします
の引数として提供されたかのように作業ディレクトリ cd
内蔵。

Status pushdは コマンドは成功しました、 Dirs 同様に実行されます。 最初のフォームの場合
使用されている、 pushdは CDが DIR 失敗します。 XNUMX番目の形式では、 pushdは
ディレクトリスタックが空でない限り、0を返します。存在しないディレクトリスタックです。
要素が指定されているか、指定された新しい現在のディレクトリに変更されます
ディレクトリが失敗します。

pwd [-LP]
現在の作業ディレクトリの絶対パス名を出力します。 印刷されたパス名
シンボリックリンクが含まれていない場合 -P オプションが提供されているか、 -o 物理的な オプション
セッションに 組み込みコマンドが有効になっています。 の場合 -L オプションが使用されている場合、パス名
印刷にはシンボリックリンクが含まれる場合があります。 エラーが発生しない限り、戻りステータスは0です。
現在のディレクトリの名前を読み取っている間、または無効なオプションが指定されています。

read [-ers] [-a 名前] [-d デリム] [-i 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. ] [-n ンチャー] [-N ンチャー] [-p プロンプト] [-t
タイムアウト] [-u fd] [ ...]
標準入力またはファイル記述子からXNUMX行が読み取られます fd 供給
の引数として -u オプションで、最初の単語が最初の単語に割り当てられます ,
XNUMX番目の単語からXNUMX番目の単語 、など、残りの単語とその
最後に割り当てられた介在するセパレータ 。 読んだ単語が少ない場合
名前よりも入力ストリームから、残りの名前には空の値が割り当てられます。
のキャラクター IFS 同じルールを使用して行を単語に分割するために使用されます
シェルは拡張に使用します(上記の Word 分裂)。 バックスラッシュ
キャラクター (\)は、次に読み取られる文字の特別な意味を削除するために使用できます
とラインの継続のため。 オプションが提供されている場合、その意味は次のとおりです。
-a 名前
単語は、配列変数の順次インデックスに割り当てられます 名前,
0から始まります。 名前 新しい値が割り当てられる前に設定が解除されます。 他の
引数は無視されます。
-d デリム
の最初の文字 デリム むしろ、入力ラインを終了するために使用されます
改行より。
-e 標準入力が端末からのものである場合、 読み込まれた行 (参照してください 読み込まれた行
上記)は、ラインを取得するために使用されます。 Readlineは現在の(またはデフォルトの
行編集が以前にアクティブでなかった場合)編集設定。
-i 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다.
If 読み込まれた行 行を読み取るために使用されています、 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. 編集に配置されます
編集を開始する前にバッファリングします。
-n ンチャー
read 読んだ後に戻る ンチャー 待つのではなく文字
入力の完全な行ですが、未満の場合は区切り文字を尊重します ンチャー
文字は区切り文字の前に読み取られます。
-N ンチャー
read 正確に読んだ後に戻る ンチャー 待つのではなく文字
EOFが検出されない限り、入力の完全な行または read タイムアウトします。
入力で検出された区切り文字は特別に扱われず、
引き起こさない read まで戻る ンチャー 文字が読み込まれます。
-p プロンプト
ディスプレイ プロンプト 標準エラーで、末尾の改行なしで、前に
入力を読み込もうとしています。 プロンプトは、入力が
ターミナルから来ています。
-r バックスラッシュはエスケープ文字としては機能しません。 バックスラッシュが考慮されます
ラインの一部になります。 特に、バックスラッシュと改行のペアは
行の継続として使用されます。
-s サイレントモード。 入力が端末からのものである場合、文字はエコーされません。
-t タイムアウト
原因となる read 入力の完全な行(または
指定された文字数)が読み取られない タイムアウト 秒です。 タイムアウト
XNUMX進数の後に小数部分があるXNUMX進数の場合があります
点。 このオプションは、次の場合にのみ有効です。 read から入力を読み取っています
ターミナル、パイプ、またはその他の特別なファイル。 から読み取る場合は効果がありません
通常のファイル。 もしも read タイムアウト、 read 読み込まれた部分的な入力を保存します
指定された変数 。 場合 タイムアウト 0は、 read すぐに戻ります、
データを読み取ろうとせずに。 入力が利用可能な場合、終了ステータスは0です。
指定されたファイル記述子で、それ以外の場合はゼロ以外。 終了ステータスは
タイムアウトを超えた場合は128より大きくなります。
-u fd ファイル記述子からの入力の読み取り fd.

ない場合 が指定されると、読み取られた行が変数に割り当てられます 応答を選択します。
ファイルの終わりが検出されない限り、戻りコードはゼロです。 read タイムアウトします(
戻りコードが128より大きい場合)、変数割り当てエラー(
読み取り専用変数への割り当て)が発生するか、無効なファイル記述子が指定されています
の引数として -u.

読み取り専用 [-aAf] [-p] [[=単語]...]
与えられた 読み取り専用としてマークされています。 これらの値 変更できません
その後の割り当てによって。 の場合 -f オプションが提供され、機能
対応する そのようにマークされています。 The -a オプションは変数をに制限します
インデックス付き配列; the -A オプションは、変数を連想配列に制限します。 もしも
両方のオプションが提供されています、 -A 優先されます。 いいえの場合 引数が与えられている、または
もし -p オプションが指定されている場合、すべての読み取り専用名のリストが出力されます。 他の
オプションを使用して、出力を読み取り専用セットのサブセットに制限できます。
名前。 NS -p オプションを指定すると、出力が再利用可能な形式で表示されます
入力として。 変数名の後に=が続く場合単語、変数の値は
に設定 単語。 無効なオプションが検出されない限り、戻りステータスは0です。
有効なシェル変数名ではない、または -f が付属しています それ
関数ではありません。

return [n]
関数の実行を停止し、で指定された値を返します。 n そのへ
発信者。 もしも n 省略した場合、戻りステータスはで最後に実行されたコマンドのステータスになります。
関数本体。 もしも return 関数の外部で使用されますが、実行中に
によるスクリプト . (source)コマンド、それはシェルにその実行を停止させます
スクリプトを作成し、いずれかを返します n または、内で実行された最後のコマンドの終了ステータス
スクリプトの終了ステータスとしてのスクリプト。 もしも n が指定されている場合、戻り値は
その最下位8ビット。 次の場合、戻りステータスはゼロ以外です。 return 供給されます
数値以外の引数、または関数の実行中にではなく関数の外部で使用される
スクリプトによる . or source。 に関連付けられているコマンド リターン トラップが実行されます
関数またはスクリプトの後で実行が再開される前。

セッションに [--abefhkmnptuvxBCHEHPT] [-o オプション名] [argは ...]
セッションに [+ abefhkmnptuvxBCEHPT] [+o オプション名] [argは ...]
オプションがない場合、各シェル変数の名前と値は
現在設定されている設定またはリセットの入力として再利用できる形式
変数。 読み取り専用変数はリセットできません。 の POSIX モード、シェルのみ
変数が一覧表示されます。 出力は、現在のロケールに従ってソートされます。 いつ
オプションを指定すると、シェル属性が設定または設定解除されます。 残っている引数
オプション処理後は、位置パラメータの値として扱われ、
順番に、 $1, $2, ... $n。 オプションが指定されている場合、次のようになります
意味:
-a 変更または作成された変数と関数を自動的にマークします
後続のコマンドの環境にエクスポートします。
-b 終了したバックグラウンドジョブのステータスを、ではなくすぐに報告します
次のプライマリプロンプトの前。 これは、ジョブ制御が
有効になりました。
-e 次の場合はすぐに終了します パイプライン (これは単一で構成されている可能性があります シンプルな
commandリスト、またはA command (参照してください SHELL 文法 上記)、終了
ステータスがゼロ以外の場合。 コマンドが失敗した場合、シェルは終了しません
直後のコマンドリストの一部です while or まで キーワード、
次のテストの一部 if or elif 予約語、任意の一部
で実行されるコマンド && or || ファイナルに続くコマンド以外のリスト
&& or ||、パイプライン内の最後のコマンド以外のコマンド、またはコマンドの
戻り値はで反転されています !。 以外の複合コマンドの場合
コマンドが失敗したため、サブシェルはゼロ以外のステータスを返します。 -e ました
無視されると、シェルは終了しません。 の罠 ERR、設定されている場合、実行されます
シェルが終了する前。 このオプションは、シェル環境と
各サブシェル環境を個別に(を参照) COMMAND 実行 ENVIRONMENT
上記)、すべてのコマンドを実行する前にサブシェルが終了する可能性があります
サブシェルで。

複合コマンドまたはシェル関数が次のコンテキストで実行される場合 -e is
無視されると、複合コマンド内で実行されたコマンドはありません。
機能本体は影響を受けます -e 設定、 -e が設定され、
コマンドは失敗ステータスを返します。 複合コマンドまたはシェル関数の場合
セット -e 次のようなコンテキストで実行している間 -e 無視されます、その設定は
複合コマンドまたは以下を含むコマンドまで効果はありません
関数呼び出しが完了します。
-f パス名の展開を無効にします。
-h 実行のために検索されるコマンドの場所を覚えておいてください。
これはデフォルトで有効になっています。
-k 割り当てステートメントの形式のすべての引数は、
コマンド名の前にある環境だけでなく、コマンドの環境。
-m モニターモード。 ジョブ制御が有効になっています。 このオプションは、デフォルトでオンになっています
それをサポートするシステム上のインタラクティブシェル(を参照) 仕事 CONTROL その上)。 全て
プロセスは別のプロセスグループで実行されます。 バックグラウンドジョブの場合
完了すると、シェルは終了ステータスを含む行を出力します。
-n コマンドを読み取りますが、実行しないでください。 これは、シェルをチェックするために使用できます
構文エラーのスクリプト。 これはインタラクティブシェルでは無視されます。
-o オプション名
  オプション名 次のいずれかになります。
すべてエクスポート
と同じ -a.
ブレースエキスパンド
と同じ -B.
エマックス emacsスタイルのコマンドライン編集インターフェースを使用します。 これは有効です
シェルがインタラクティブでない限り、デフォルトではシェルがインタラクティブである場合
始まった --編集なし オプション。 これは編集にも影響します
に使用されるインターフェース read -e.
エラー と同じ -e.
エラートレース
と同じ -E.
関数トレース
と同じ -T.
ハシャル と同じ -h.
履歴を拡大する
と同じ -H.
history 上記の説明に従って、コマンド履歴を有効にします 歴史。 この
インタラクティブシェルでは、オプションはデフォルトでオンになっています。
無視する
その効果は、シェルコマンド「IGNOREEOF=10」が
実行されました(を参照) シェル(Shell) Variables 上記)。
キーワード と同じ -k.
モニター と同じ -m.
ノークロバー
と同じ -C.
noexec と同じ -n.
ノグロブ と同じ -f.
ノーログ 現在無視されています。
通知する と同じ -b.
名詞セット と同じ -u.
ワンセンチメートル と同じ -t.
物理的な
と同じ -P.
パイプの失敗
設定されている場合、パイプラインの戻り値は最後の値になります
(右端)ゼロ以外のステータスで終了するコマンド、またはすべての場合はゼロ
パイプラインのコマンドは正常に終了します。 このオプションは
デフォルトでは無効になっています。
POSIX の動作を変更します bash デフォルトの操作が異なる場合
POSIX標準から標準に一致するように(POSIX モード)。 見る
関連項目 ALSO posixの詳細を説明するドキュメントへの参照については、以下を参照してください
モードはbashの動作に影響します。
特権を持つ
と同じ -p.
詳細 と同じ -v.
vi viスタイルのコマンドライン編集インターフェイスを使用します。 これも影響します
に使用される編集インターフェース read -e.
トレース と同じ -x.
If -o が付属していません オプション名、現在のオプションの値
印刷されます。 もしも +o が付属していません オプション名、 シリーズ セッションに
現在のオプション設定を再作成するコマンドは、
標準出力。
-p オンにする 特権を持つ モード。 このモードでは、 $ ENV & $ BASH_ENV ファイルです
処理されず、シェル関数は環境から継承されず、
  シェロプト, バショップ, CDPATH, グロビグノーレ 変数(表示されている場合)
環境では、無視されます。 シェルがで開始された場合
有効なユーザー(グループ)IDが実際のユーザー(グループ)IDと等しくなく、 -p
オプションが指定されていない場合、これらのアクションが実行され、有効なユーザーIDが実行されます
実際のユーザーIDに設定されます。 の場合 -p オプションは起動時に提供され、
有効なユーザーIDはリセットされません。 このオプションをオフにすると、
実際のユーザーIDとグループIDに設定される有効なユーザーIDとグループID。
-t XNUMXつのコマンドを読み取って実行した後、終了します。
-u 未設定の変数と特別なパラメータ「@」以外のパラメータを処理します
パラメータ展開実行時のエラーとして「*」を付けてください。 拡張が
未設定の変数またはパラメーターで試行すると、シェルはエラーを出力します
メッセージ、および対話型でない場合は、ゼロ以外のステータスで終了します。
-v シェル入力行を読み取ったときに印刷します。
-x それぞれを拡張した後 シンプルな command, for コマンド、 場合 コマンド、 select
コマンド、または算術 for コマンド、の展開値を表示します PS4,
コマンドとその拡張引数または関連する単語リストが続きます。
-B シェルはブレース拡張を実行します(を参照) ブレース 拡張 その上)。 これはオンです
デフォルトでは
-C 設定されている場合、 bash 既存のファイルをで上書きしません >, >&, <>
リダイレクト演算子。 これは、出力ファイルを作成するときにオーバーライドされる場合があります
リダイレクション演算子を使用して >| >.
-E 設定されている場合、トラップ ERR シェル関数、コマンドに継承されます
置換、およびサブシェル環境で実行されるコマンド。 The ERR
このような場合、トラップは通常継承されません。
-H 有効にします ! スタイル履歴の置換。 このオプションは、次の場合にデフォルトでオンになります。
シェルはインタラクティブです。
-P 設定されている場合、コマンドの実行時にシェルはシンボリックリンクを解決しません
など cd 現在の作業ディレクトリを変更します。 物理的なものを使用します
代わりにディレクトリ構造。 デフォルトでは、 bash の論理チェーンに従います
現在のディレクトリを変更するコマンドを実行するときのディレクトリ。
-T 設定されている場合、トラップ DEBUG & リターン シェル関数に継承され、
コマンド置換、およびサブシェル環境で実行されるコマンド。
  DEBUG & リターン このような場合、トラップは通常継承されません。
-- このオプションの後に引数がない場合、位置パラメータは次のようになります。
未設定。 それ以外の場合、位置パラメータはに設定されます argはs、たとえ
それらのいくつかはで始まります -.
- オプションの終了を通知し、残りをすべて発生させます argはに割り当てられる
位置パラメータ。 The -x & -v オプションはオフになっています。 ある場合
いいえ argはs、位置パラメータは変更されません。

特に記載がない限り、オプションはデフォルトでオフになっています。 -ではなく+を使用する
これらのオプションがオフになります。 オプションは、次のように指定することもできます。
シェルの呼び出しに対する引数。 現在のオプションのセットが見つかる場合があります
in $-。 無効なオプションが検出されない限り、戻りステータスは常にtrueです。

シフト [n]
からの位置パラメータ n+1...はに名前が変更されます $1 .... 計測パラメータ
数字で表される $# 至るまで $#-n+1は設定されていません。 n 非負である必要があります
以下の数 $#。 場合 n が0の場合、パラメータは変更されません。 もしも n is
与えられていない場合、1と見なされます。 n より大きい $#、位置
パラメータは変更されません。 次の場合、戻りステータスはゼロより大きい n より大きい
より $# またはゼロ未満。 それ以外の場合は0。

買い物 [-pqsu] [-o] [オプトネーム ...]
オプションのシェルの動作を制御する設定の値を切り替えます。 設定
以下にリストされているもの、または -o オプションが使用され、利用可能なもの
-o オプションを セッションに 組み込みコマンド。 オプションなし、または -p
オプションの場合、設定可能なすべてのオプションのリストが表示され、
それぞれが設定されているかどうか。 ザ -p オプションを指定すると、出力が次のような形式で表示されます。
入力として再利用されます。 その他のオプションには、次の意味があります。
-s それぞれを有効(設定) オプトネーム.
-u それぞれを無効(設定解除) オプトネーム.
-q 通常の出力を抑制します(クワイエットモード)。 リターンステータスは、
  オプトネーム 設定または設定解除されます。 複数の場合 オプトネーム 引数はで与えられます
-q、すべての場合、リターンステータスはゼロです optname 有効になっています。 ゼロ以外
さもないと。
-o の値を制限します オプトネーム のために定義されたものになる -o オプションを
セッションに 内蔵。

どちらか -s or -u なしで使用されます オプトネーム 引数、 買い物 それらだけを表示します
それぞれ設定または設定解除されたオプション。 特に明記されていない限り、 買い物
オプションはデフォルトで無効(未設定)になっています。

すべての場合、オプションを一覧表示したときの戻りステータスはゼロです。 optname 有効になっている、
それ以外の場合はゼロ。 オプションを設定または設定解除すると、戻りステータスはゼロになります
でない限り オプトネーム 有効なシェルオプションではありません。

のリスト 買い物 オプションは次のとおりです。

autocd 設定すると、ディレクトリ名であるコマンド名があたかも実行されます。
への議論でした cd 指図。 このオプションは、
インタラクティブシェル。
cdable_vars
設定されている場合、 cd ディレクトリではない組み込みコマンドは
値が変更するディレクトリである変数の名前と見なされます
に。
cdスペル 設定されている場合、ディレクトリコンポーネントのスペルの軽微なエラー cd
コマンドが修正されます。 チェックされたエラーは置き換えられます
文字、欠落している文字、およびXNUMX文字が多すぎます。 もし
修正が検出され、修正されたファイル名が印刷され、コマンド
続行します。 このオプションは、インタラクティブシェルでのみ使用されます。
チェックハッシュ
設定されている場合、 bash ハッシュテーブルで見つかったコマンドが以前に存在することを確認します
それを実行しようとしています。 ハッシュされたコマンドが存在しなくなった場合、通常のパス
検索が実行されます。
チェックジョブ
設定されている場合、 bash 以前に停止および実行中のジョブのステータスを一覧表示します
インタラクティブシェルを終了します。 実行中のジョブがある場合、これにより
介入せずにXNUMX番目の出口が試行されるまで延期される出口
コマンド(を参照) 仕事 CONTROL その上)。 シェルは、存在する場合は常に終了を延期します
ジョブは停止されます。
チェックウィンサイズ
設定されている場合、 bash 各コマンドの後にウィンドウサイズをチェックし、必要に応じて
の値を更新します LINES & COLUMNS.
コマンドヒスト 設定されている場合、 bash 複数行のコマンドのすべての行を
同じ履歴エントリ。 これにより、複数行のコマンドを簡単に再編集できます。
互換性31
設定されている場合、 bash に関して、その動作をバージョン3.1の動作に変更します
に引用された引数 [[ 条件付きコマンド =~ 演算子とロケール-
を使用する場合の特定の文字列の比較 [[ 条件付きコマンド < & >
演算子。 bash-4.1より前のBashバージョンは、ASCII照合と
strcmp(3); bash-4.1以降では、現在のロケールの照合シーケンスを使用します
& ストコールとします。
互換性32
設定されている場合、 bash に関して、その動作をバージョン3.2の動作に変更します
を使用する場合のロケール固有の文字列比較 [[ 条件付きコマンド <
& > 演算子(前の項目を参照)。
互換性40
設定されている場合、 bash に関して、その動作をバージョン4.0の動作に変更します
を使用する場合のロケール固有の文字列比較 [[ 条件付きコマンド <
& > 演算子(の説明を参照) 互換性31)との効果
コマンドリストを中断します。 Bashバージョン4.0以降は、
シェルが割り込みを受け取ったかのようにリストします。 以前のバージョンは続く
リスト内の次のコマンドで。
互換性41
設定されている場合、 bashPOSIX モード、二重引用符で囲まれた一重引用符を扱います
特殊文字としてのパラメーター展開。 一重引用符は一致する必要があります
(偶数)および一重引用符の間の文字は
引用されたと見なされます。 これは、バージョン4.1までのposixモードの動作です。
デフォルトのbashの動作は、以前のバージョンと同じです。
互換性42
設定されている場合、 bash パターン内の置換文字列を処理しません
引用符の削除を使用した置換単語の拡張。
complete_fullquote
設定されている場合、 bash ファイル名とディレクトリ内のすべてのシェルメタ文字を引用します
完了を実行するときの名前。 設定されていない場合、 bash メタ文字を削除します
で引用される文字のセットからのドル記号など
これらのメタ文字がシェル変数に表示されるときに完成したファイル名
完成させる言葉での参照。 これは、ドル記号がサインインすることを意味します
ディレクトリに展開される変数名は引用符で囲まれません。 ただし、
ファイル名に表示されるドル記号も引用符で囲まれません。 これは
bashがバックスラッシュを使用して完成したファイル名を引用している場合にのみアクティブになります。
この変数はデフォルトで設定されています。これは、のデフォルトのbash動作です。
4.2までのバージョン。
逆展開
設定されている場合、 bash ディレクトリ名を単語拡張の結果に置き換えます
ファイル名の補完を実行するとき。 これにより、の内容が変更されます
readline編集バッファー。 設定されていない場合、 bash 何を保存しようとします
ユーザーが入力しました。
ダースペル
設定されている場合、 bash 単語中にディレクトリ名のスペル修正を試みます
最初に指定されたディレクトリ名が存在しない場合は完了。
ドットグロブ 設定されている場合、 bash `。'で始まるファイル名を含みますの結果で
パス名の展開。
実行失敗
設定されている場合、ファイルを実行できない場合、非対話型シェルは終了しません
の引数として指定 exec 組み込みコマンド。 インタラクティブシェル
次の場合は終了しません exec 失敗します。
Expand_aliases
設定されている場合、エイリアスは上記のように展開されます。 エイリアス。 このオプション
インタラクティブシェルではデフォルトで有効になっています。
拡張デバッグ
設定されている場合、デバッガーによる使用を目的とした動作が有効になります。
1.   -F オプションを 宣言する ビルトインはソースファイル名を表示します
およびとして提供される各関数名に対応する行番号
引数。
2. コマンドがによって実行された場合 DEBUG トラップはゼロ以外の値を返します。
次のコマンドはスキップされ、実行されません。
3. コマンドがによって実行された場合 DEBUG トラップは値2を返し、
シェルがサブルーチン(シェル関数またはシェル)で実行されています
によって実行されるスクリプト . or source ビルトイン)、への呼び出し return is
シミュレート。
4. BASH_ARGC & BASH_ARGV 彼らの説明に従って更新されます
上記の説明。
5. 関数トレースが有効になっています:コマンド置換、シェル関数、
およびで呼び出されるサブシェル ( command ) 継承する DEBUG & リターン
トラップ。
6. エラートレースが有効になっています:コマンド置換、シェル関数、
およびで呼び出されるサブシェル ( command ) 継承する ERR トラップ。
外部グロブ 設定されている場合、上記の拡張パターンマッチング機能
パス名 拡張 有効になります。
引用符
設定されている場合、 $'文字列'と $"文字列"引用は内で実行されます ${パラメーター}
二重引用符で囲まれた展開。 このオプションはデフォルトで有効になっています。
失敗グロブ
設定されている場合、パス名の展開中にファイル名と一致しないパターン
展開エラーが発生します。
強制設定
設定されている場合、 無視する シェル変数は単語を
無視された単語が
可能な唯一の完了。 見る SHELL 変数 上記の説明
of 無視する。 このオプションはデフォルトで有効になっています。
球菌類
設定されている場合、パターンマッチングブラケット式で使用される範囲式(を参照)
パターン マッチング 上記)従来のCロケールのように動作する場合
比較を実行します。 つまり、現在のロケールの照合シーケンス
考慮されていないので b 間で照合されません A & B,
大文字と小文字のASCII文字は照合されます。
グロブスター
設定されている場合、パターン ** パス名拡張コンテキストで使用されるものはすべてに一致します
ファイルとXNUMX個以上のディレクトリとサブディレクトリ。 パターンが
続いて /、ディレクトリとサブディレクトリのみが一致します。
gnu_errfmt
設定されている場合、シェルエラーメッセージは標準のGNUエラーメッセージに書き込まれます
形式でダウンロードすることができます。
ヒスタペンド
設定されている場合、履歴リストは、の値で指定されたファイルに追加されます。
ヒストファイル ファイルを上書きするのではなく、シェルが終了するときに変数。
履歴編集
設定されている場合、および 読み込まれた行 使用されている場合、ユーザーは再使用する機会が与えられます。
失敗した履歴置換を編集します。
履歴確認
設定されている場合、および 読み込まれた行 使用されている場合、履歴置換の結果は次のとおりです。
シェルパーサーにすぐには渡されません。 代わりに、結果の行は
にロードされます 読み込まれた行 バッファを編集し、さらに変更できるようにします。
ホストコンプリート
設定されている場合、および 読み込まれた行 使用されています、 bash ホスト名の実行を試みます
を含む単語の場合の完了 @ 完了しています(を参照) 完了
読み込まれた行 その上)。 これはデフォルトで有効になっています。
ヒューポエグジット
設定されている場合、 bash 送ります シグアップ インタラクティブログインシェルの場合、すべてのジョブに
終了します。
Interactive_comments
設定されている場合は、で始まる単語を許可します # その言葉と残りのすべてを引き起こすために
インタラクティブシェルで無視されるその行の文字(を参照) コメント
その上)。 このオプションはデフォルトで有効になっています。
ラストパイプ
設定されていて、ジョブ制御がアクティブでない場合、シェルはの最後のコマンドを実行します
現在のシェル環境では、パイプラインはバックグラウンドで実行されません。
リシスト 設定されている場合、および コマンドヒスト オプションが有効になっている場合、複数行のコマンドはに保存されます
セミコロン区切り文字を使用するのではなく、改行が埋め込まれた履歴
可能であれば。
ログインシェル
ログインシェルとして開始された場合、シェルはこのオプションを設定します(を参照)。
呼び出し その上)。 値は変更できません。
メール警告
設定されている場合、およびそのファイル bash メールをチェックしてからアクセスされています
前回チェックしたときは、「メール メールファイル されています
読み取り''が表示されます。
no_empty_cmd_completion
設定されている場合、および 読み込まれた行 使用されています、 bash 検索を試みません
パス 空で完了が試行されたときに可能な完了の場合
ライン。
ノーケースグロブ
設定されている場合、 bash 大文字と小文字を区別しない方法でファイル名と一致する場合
パス名拡張の実行(を参照) パス名 拡張 上記)。
ノーケースマッチ
設定されている場合、 bash 実行時に大文字と小文字を区別せずにパターンを照合します
実行中のマッチング 場合 or [[ 条件付きコマンド。
nullglob
設定されている場合、 bash ファイルに一致しないパターンを許可します(を参照) パス名 拡張
上記)それ自体ではなく、ヌル文字列に展開します。
プログコンプ
設定されている場合、プログラム可能な完了機能(を参照) プログラム対応 完成
上記)が有効になっています。 このオプションはデフォルトで有効になっています。
プロンプト変数
設定されている場合、プロンプト文字列はパラメータ拡張、コマンド置換、
算術展開、および説明されているように展開された後の引用符の削除
in プロンプト その上。 このオプションはデフォルトで有効になっています。
制限付きシェル
制限付きモードで開始された場合、シェルはこのオプションを設定します(を参照)。
制限付き SHELL 下)。 値は変更できません。 これはリセットされません
スタートアップファイルが実行されると、スタートアップファイルが検出できるようになります
シェルが制限されているかどうか。
シフト冗長
設定されている場合、 シフト 組み込みは、シフトカウント時にエラーメッセージを出力します
位置パラメータの数を超えています。
ソースパス
設定されている場合、 source (.)組み込みはの値を使用します パス ディレクトリを見つける
引数として提供されたファイルを含みます。 このオプションはによって有効になります
デフォルト。
xpg_echo
設定されている場合、 echo ビルトインは、デフォルトでバックスラッシュエスケープシーケンスを展開します。

サスペンド [-f]
このシェルが受信するまで、このシェルの実行を一時停止します。 シグコント 信号。 ログイン
シェルを一時停止することはできません。 the -f オプションを使用してこれをオーバーライドし、強制的に
サスペンション。 シェルがログインシェルであり、 -f ではありません
提供されるか、ジョブ制御が有効になっていない場合。

test
[ ]
の評価に応じて、0(true)または1(false)のステータスを返します。
条件式 。 各演算子とオペランドは別々である必要があります
口論。 式は、上記のプライマリで構成されています。
条件付き 表現. test オプションを受け入れず、また受け入れず、
の引数を無視する -- オプションの終わりを意味するものとして。

式は、次の演算子を使用して組み合わせることができます。
優先順位。 評価は引数の数によって異なります。 下記参照。
演算子の優先順位は、引数がXNUMXつ以上ある場合に使用されます。
! Trueの場合 は偽です。
( )
の値を返します 。 これは、通常をオーバーライドするために使用できます
演算子の優先順位。
式1 -a 式2
両方の場合は真 式1 & 式2 本当です。
式1 -o 式2
どちらかが真 式1 or 式2 本当です。

test & [ に基づく一連のルールを使用して条件式を評価する
引数の数。

0引数
式は偽です。
1つの引数
この式は、引数がnullでない場合にのみtrueになります。
2引数
最初の引数が !、式は、XNUMX番目の場合にのみ真になります
引数がnullです。 最初の引数が単項条件のXNUMXつである場合
上記の演算子 条件付き 表現、式は真です
単項検定が真の場合。 最初の引数が有効な単項でない場合
条件演算子の場合、式はfalseです。
3引数
以下の条件が記載されている順序で適用されます。 XNUMX番目の場合
引数は、上記のバイナリ条件演算子のXNUMXつです。
条件付き 表現、式の結果は、
XNUMX番目とXNUMX番目の引数をオペランドとして使用するバイナリテスト。 The -a & -o
引数がXNUMXつある場合、演算子はXNUMX項演算子と見なされます。
最初の引数が !、値はXNUMXつの引数の否定です
XNUMX番目とXNUMX番目の引数を使用してテストします。 最初の引数が正確に
( そしてXNUMX番目の引数は正確に )、結果はXNUMXつの引数のテストです
XNUMX番目の引数の。 それ以外の場合、式はfalseです。
4引数
最初の引数が !、結果はXNUMXつの引数の否定です
残りの引数で構成される式。 それ以外の場合、式
リストされたルールを使用して、優先順位に従って解析および評価されます
上記。
5つ以上の引数
式は、を使用して優先順位に従って解析および評価されます。
上記のルール。

と一緒に使用する場合 test or [ < & > 演算子はASCIIを使用して辞書式順序でソートします
注文します。

<font style="vertical-align: inherit;">回数</font> シェルおよび実行中のプロセスの累積ユーザー時間とシステム時間を出力します
シェルから。 戻りステータスは0です。

トラップ [-lp] [[argは] シグスペック ...]
コマンド argは シェルがシグナルを受信したときに読み取られて実行されます
シグスペック。 場合 argは 不在です(そして単一があります シグスペック)または -、それぞれ指定
信号は元の位置にリセットされます(信号が
シェル)。 もしも argは それぞれによって指定された信号のヌル文字列です シグスペック 無視されます
シェルとそれが呼び出すコマンドによって。 もしも argは 存在せず、 -p されています
提供された後、それぞれに関連付けられたトラップコマンド シグスペック が表示されます。 いいえの場合
引数が提供されている場合、または -p 与えられる、 トラップ コマンドのリストを出力します
各信号に関連付けられています。 The -l オプションを指定すると、シェルは次のリストを出力します。
信号名とそれに対応する番号。 各 シグスペック 信号名のいずれかです
で定義シグナル.h>、または信号番号。 信号名は大文字と小文字を区別せず、
  SIG プレフィックスはオプションです。

もし シグスペック is EXIT (0)コマンド argは シェルの終了時に実行されます。 もし
シグスペック is DEBUG、 コマンド argは 毎回実行される前に シンプルな command, for
コマンド、 場合 コマンド、 select コマンド、すべての算術 for コマンド、および前に
最初のコマンドはシェル関数で実行されます(を参照) SHELL 文法 その上)。 を参照してください
の説明 拡張デバッグ オプションを 買い物 その効果の詳細については組み込み
DEBUG トラップ。 もし シグスペック is リターン、 コマンド argは 毎回実行されます
シェル関数またはで実行されるスクリプト . or source ビルトイン仕上げ
実行中。

もし シグスペック is ERR、 コマンド argは パイプライン(
単一の単純なコマンドで構成される)、リスト、または複合コマンドは、
ゼロ以外の終了ステータス。以下の条件が適用されます。 The ERR トラップはありません
失敗したコマンドが直後のコマンドリストの一部である場合に実行されます
while or まで キーワード、テストの一部 if ステートメント、コマンドの一部
で実行 && or || ファイナルに続くコマンド以外のリスト && or ||、 どれか
パイプライン内のコマンドであるが最後のコマンド、またはコマンドの戻り値が
を使用して反転 !。 これらは、 エラー (-e)オプション。

シェルへのエントリ時に無視された信号は、トラップまたはリセットできません。 閉じ込められた
無視されていない信号は、サブシェルで元の値にリセットされます
または作成時のサブシェル環境。 返品ステータスがある場合はfalse
シグスペック 無効です; それ以外は トラップ trueを返します。

type [-afterpP] [ ...]
オプションなしで、それぞれの方法を示します コマンドとして使用すると解釈されます
名前。 の場合 -t オプションが使用されます、 type のXNUMXつである文字列を出力します alias,
キーワード, function, ビルトインまたは file if エイリアス、シェル予約語、
それぞれ、関数、組み込み、またはディスクファイル。 の場合 見つからない場合
何も出力されず、falseの終了ステータスが返されます。 の場合 -p オプションがある
中古、 type 次の場合に実行されるディスクファイルの名前を返します。
コマンド名として指定された、または `` type-tname''が返されない場合は何も指定されなかった
fileを選択します。 -P オプションは強制的に パス それぞれを検索 、「type-tname」であっても
戻らない file。 コマンドがハッシュされている場合、 -p & -P ハッシュ値を出力し、
これは必ずしも最初に表示されるファイルではありません パス。 もし -a オプションがある
中古、 type という名前の実行可能ファイルを含むすべての場所を出力します 。 この
の場合に限り、エイリアスと関数が含まれます。 -p オプションも使用しません。 の
ハッシュ化されたコマンドのテーブルは、使用時に参照されません -aを選択します。 -f オプションは抑制します
と同様に、シェル関数のルックアップ command 内蔵。 type すべての場合に true を返します
引数が見つかった場合、何も見つからない場合は false。

ulimit [-HSTabcdefilmnpqrstuvx [制限]]
シェルおよび開始されたプロセスが使用できるリソースを制御します。
そのような制御を可能にするシステム上で。 の -H & -S オプションは、
特定のリソースにハード制限またはソフト制限が設定されています。 ハード制限を増やすことはできません
一度設定すると、root 以外のユーザーによって。 ソフト リミットは、次の値まで増やすことができます。
ハードリミット。 どちらでもない場合 -H また -S ソフトリミットとハードリミットの両方が指定されています
設定されています。 の値 制限 リソースに指定された単位の数値にすることができます
または特別な値の XNUMX つ ハード, ソフトまたは 無限の、現在の略
それぞれ、ハード制限、現在のソフト制限、制限なし。 もしも 制限 is
省略されている場合、リソースのソフト制限の現在の値が出力されます。
-H オプションが与えられます。 複数のリソースが指定されている場合、制限名と
単位は値の前に印刷されます。 その他のオプションは次のように解釈されます。
-a すべての現在の制限が報告されます
-b 最大ソケット バッファ サイズ
-c 作成されるコア ファイルの最大サイズ
-d プロセスのデータセグメントの最大サイズ
-e スケジューリングの最大優先度 ("nice")
-f シェルとその子によって書き込まれるファイルの最大サイズ
-i 保留中のシグナルの最大数
-l メモリにロックされる可能性のある最大サイズ
-m 常駐セットの最大サイズ (多くのシステムはこの制限を尊重しません)
-n 開いているファイル記述子の最大数 (ほとんどのシステムではこれが許可されていません)
設定値)
-p 512 バイト ブロックのパイプ サイズ (これは設定されていない可能性があります)
-q POSIX メッセージ キューの最大バイト数
-r リアルタイムスケジューリングの最大優先度
-s 最大スタックサイズ
-t 秒単位の最大 CPU 時間
-u XNUMX 人のユーザーが使用できるプロセスの最大数
-v シェルで使用可能な仮想メモリの最大量。
システム、その子へ
-x ファイルロックの最大数
-T スレッドの最大数

If 制限 が与えられ、 -a オプションは使用されません、 制限 の新しい値です
指定されたリソース。 オプションが指定されていない場合は、 -f が想定されます。 値は
を除き、1024 バイト単位で増加 -t、秒単位です。 -p、単位は
512 バイトのブロック。 と -T, -b, -n, -u、これはスケーリングされていない値です。 リターン
無効なオプションまたは引数が指定された場合、またはエラーが発生した場合を除き、status は 0 です。
新しい制限を設定しながら。

umask [-p] [-S] [モード]
ユーザーファイル作成マスクはに設定されています モード。 場合 モード 数字で始まる、それは
XNUMX 進数として解釈されます。 それ以外の場合は、シンボリック モード マスクとして解釈されます
によって受け入れられたものと同様 chmod(1)。 もしも モード が省略された場合、
マスクはプリント。 の -S オプションにより、マスクが記号形式で出力されます。 の
デフォルトの出力は XNUMX 進数です。 もし -p オプションが提供され、 モード is
省略した場合、出力は入力として再利用できる形式になります。 返却状況は
モードが正常に変更された場合、または変更されていない場合は 0 モード 引数が指定され、
それ以外の場合は false。

エイリアス [-a] [ ...]
それぞれを削除します 定義されたエイリアスのリストから。 もしも -a が提供され、すべてエイリアス
定義が削除されます。 指定されていない限り、戻り値は true です。 ない
エイリアスを定義しました。

unset [-fv][-n] [ ...]
それぞれについて、 、対応する変数または関数を削除します。 もし -v オプションがある
与えられた、それぞれ はシェル変数を参照し、その変数は削除されます。 読んだ-
変数のみを設定解除できません。 もしも -f が指定され、それぞれ シェルを指す
関数、および関数定義が削除されます。 もし -n オプションが提供されます、
& は変数であり、 名前参照 属性、 ではなく設定解除されます
それが参照する変数。 -n の場合は効果がありません。 -f オプションが付属しています。 いいえ
オプションが提供され、それぞれ 変数を参照します。 変数がない場合
その名前の関数は設定解除されます。 未設定の各変数または関数
後続のコマンドに渡される環境から削除されます。 いずれかの場合
COMP_WORDBREAKS, RANDOM, SECONDS, リネノ, HISTCMD, 機能名, グループまたは ダースタック
設定されていない場合、後でリセットされたとしても、それらの特別なプロパティは失われます。
終了ステータスは true です。 読み取り専用です。

wait [-n] [n ...]
指定された各子プロセスを待機し、その終了ステータスを返します。 各 n
プロセス ID またはジョブ仕様の場合があります。 ジョブ仕様が指定されている場合、すべてのプロセス
そのジョブのパイプラインで待機しています。 もしも n は指定されていません。すべて現在アクティブです
子プロセスが待機され、戻りステータスはゼロです。 もし -n オプションがある
供給、 wait ジョブが終了するのを待ち、その終了ステータスを返します。 もしも n
存在しないプロセスまたはジョブを指定すると、戻りステータスは 127 になります。
return status は、最後に待機したプロセスまたはジョブの終了ステータスです。

制限付き SHELL


If bash 名前で始まる ルバッシュ、または -r オプションは呼び出し時に提供されます。
シェルが制限されます。 制限付きシェルを使用して環境をセットアップします 詳細
標準シェルよりも制御されます。 と同じように動作します bash 例外を除いて
以下が許可されていない、または実行されていないこと。

· ディレクトリを変更する cd

· 値の設定または設定解除 SHELL, パス, ENVまたは BASH_ENV

· を含むコマンド名の指定 /

· を含むファイル名を指定する / の引数として . 組み込みコマンド

· への引数としてスラッシュを含むファイル名を指定する -p オプションを
ハッシュ 組み込みコマンド

・起動時にシェル環境から関数定義をインポート

· 値の解析 シェロプト 起動時のシェル環境から

· >、>|、<>、>&、&>、および >> リダイレクト演算子を使用した出力のリダイレクト

· を使用して exec シェルを別のコマンドに置き換える組み込みコマンド

· 組み込みコマンドの追加または削除 -f & -d へのオプション enable
組み込みコマンド

· を使用して enable 無効化されたシェル組み込みコマンドを有効にする組み込みコマンド

· 指定する -p オプションを command 組み込みコマンド

· で制限付きモードをオフにする セッションに +r or セッションに +o 制限されました.

これらの制限は、起動ファイルが読み取られた後に適用されます。

シェル スクリプトであることが判明したコマンドが実行されたとき ( COMMAND 実行
その上)、 ルバッシュ スクリプトを実行するために生成されたシェルの制限をオフにします。

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


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

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

Linuxコマンド

Ad