/usr/bin/bash: Difference between revisions

 
(25 intermediate revisions by the same user not shown)
Line 1,618: Line 1,618:
=== Commands for Changing Text ===
=== Commands for Changing Text ===
;end-of-file (usually C-d)
;end-of-file (usually C-d)
:The character indicating end-of-file as set, for example, by ``stty''.  If this  character is  read  when  there  are no characters on the line, and point is at the beginning of the line, Readline interprets it as the end of input and returns EOF.
:’’stty''などで設定されているファイル終了を示す文字である。 行に文字がなく、pointが行頭にあるときにこの文字が読み込まれると、 Readlineはこれを入力の終わりと解釈し、EOFを返す。
;delete-char (C-d)
;delete-char (C-d)
:Delete the character at point.  If this function is bound to the same character as the tty EOF character, as C-d commonly is, see above for the effects.
:pointの文字を削除する。 C-dが一般的であるように、この関数がttyのEOF文字と同じ文字にバインドされている場合、その影響については上記を参照のこと。
;backward-delete-char (Rubout)
;backward-delete-char (Rubout)
:Delete  the  character behind the cursor.  When given a numeric argument, save the deleted text on the kill ring.
:カーソルの後ろの文字を削除する。 数値引数が与えられた場合、削除したテキストをキルリングに保存する。
;forward-backward-delete-char
;forward-backward-delete-char
:Delete the character under the cursor, unless the cursor is at the end  of  the  line,  in which case the character behind the cursor is deleted.
:カーソルが行末にある場合を除き、カーソルの下にある文字を削除する。
;quoted-insert (C-q, C-v)
;quoted-insert (C-q, C-v)
:Add  the next character typed to the line verbatim.  This is how to insert characters like C-q, for example.
:入力された次の文字をそのまま行に追加する。 これは、例えばC-qのような文字を挿入する方法である。
;tab-insert (C-v TAB)
;tab-insert (C-v TAB)
:Insert a tab character.
:タブ文字を挿入する。
;self-insert (a, b, A, 1, !, ...)
;self-insert (a, b, A, 1, !, ...)
:Insert the character typed.
:入力された文字を挿入する。
;transpose-chars (C-t)
;transpose-chars (C-t)
:Drag the character before point forward over the character at point, moving point  forward as  well.  If point is at the end of the line, then this transposes the two characters before point.  Negative arguments have no effect.
:pointの前の文字をpointの文字の上にドラッグし、pointも前に移動させる。 pointが行末にある場合、pointの前の2文字を転置する。 負の引数は効果がない。
;transpose-words (M-t)
;transpose-words (M-t)
:Drag the word before point past the word after point, moving point over that word as well. If point is at the end of the line, this transposes the last two words on the line.
:pointの前の単語をドラッグして、pointの後の単語の上にpointを移動させる。pointが行末にある場合は、行末の2つの単語を入れ替える。
;upcase-word (M-u)
;upcase-word (M-u)
:Uppercase the current (or following) word.  With a negative argument, uppercase the previous word, but do not move point.
:現在の(またはそれに続く)単語を大文字にする。 負の引数を指定すると、前の単語を大文字にするが、pointは移動しない。
;downcase-word (M-l)
;downcase-word (M-l)
:Lowercase the current (or following) word.  With a negative argument, lowercase the previous word, but do not move point.
:現在の(またはそれに続く)単語を小文字にする。 負の引数を指定すると、前の単語を小文字にするが、pointは移動しない。
;capitalize-word (M-c)
;capitalize-word (M-c)
:Capitalize the current (or following) word.  With a negative argument, capitalize the previous word, but do not move point.
:現在の(または次の)単語を大文字にする。 否定引数では、前の単語を大文字にするが、pointは動かさない。
;overwrite-mode
;overwrite-mode
:Toggle overwrite mode.  With an explicit positive numeric argument, switches to  overwrite mode.  With an explicit non-positive numeric argument, switches to insert mode.  This command affects only emacs mode; vi mode does overwrite differently.  Each call to readline() starts  in  insert mode.  In overwrite mode, characters bound to self-insert replace the text at point rather than pushing the text  to  the  right.  Characters  bound  to backward-delete-char  replace  the character before point with a space.  By default, this command is unbound.
:上書きモードを切り替える。 明示的な正の数値引数を指定すると、上書きモードに切り替わる。 正でない数値引数を指定すると、挿入モードに切り替わる。 このコマンドはemacsモードにのみ影響する。 readline()の各呼び出しは、insertモードで始まる。 overwriteモードでは、self-insertに束縛された文字は、テキストを右に押し出すのではなく、その位置でテキストを置き換える。 backward-delete-charにバインドされた文字は、pointの前の文字をスペースに置き換える。 デフォルトでは、このコマンドはバインドされていない。


=== Killing and Yanking ===
=== Killing and Yanking ===
;kill-line (C-k)
;kill-line (C-k)
:Kill the text from point to the end of the line.
:pointから行末までのテキストをキルする。
;backward-kill-line (C-x Rubout)
;backward-kill-line (C-x Rubout)
:Kill backward to the beginning of the line.
:ラインの先頭までキルバックする。
;unix-line-discard (C-u)
;unix-line-discard (C-u)
:Kill backward from point to the beginning of the line.  The killed text is  saved  on  the kill-ring.
:pointから行頭まで後方にキルする。 キルされたテキストはキルリングに保存される。
;kill-whole-line
;kill-whole-line
:Kill all characters on the current line, no matter where point is.
:現在行のすべての文字を、ポイントがどこであろうと殺す。
;kill-word (M-d)
;kill-word (M-d)
:Kill  from  point  to  the end of the current word, or if between words, to the end of the next word.  Word boundaries are the same as those used by forward-word.
:pointから現在の単語の終わりまで、または単語と単語の間の場合は次の単語の終わりまでをキルする。 単語の境界はforward-wordで使われるものと同じである。
;backward-kill-word (M-Rubout)
;backward-kill-word (M-Rubout)
:Kill the word behind point.  Word boundaries are the same as those used by backward-word.
:後ろの単語を殺す。 単語の境界線はbackward-wordで使われるものと同じである。
;shell-kill-word
;shell-kill-word
:Kill from point to the end of the current word, or if between words, to  the  end  of  the next word.  Word boundaries are the same as those used by shell-forward-word.
:pointから現在の単語の終わりまで、または単語と単語の間の場合は次の単語の終わりまでをキルする。 単語の境界は、shell-forward-wordで使われるものと同じである。
;shell-backward-kill-word
;shell-backward-kill-word
:Kill  the  word  behind  point.  Word boundaries are the same as those used by shell-backward-word.
:pointの後ろの単語を消す。 単語の境界はshell-backward-wordで使われるものと同じである。
;unix-word-rubout (C-w)
;unix-word-rubout (C-w)
:Kill the word behind point, using white space as a word boundary.  The  killed  text  is saved on the kill-ring.
:空白を単語の境界として、pointの後ろの単語を殺す。 キルされたテキストはキルリングに保存される。
;unix-filename-rubout
;unix-filename-rubout
:Kill  the  word behind point, using white space and the slash character as the word boundaries.  The killed text is saved on the kill-ring.
:空白文字とスラッシュ文字を単語の境界として、pointの後ろの単語を消す。 キルされたテキストはキルリングに保存される。
;delete-horizontal-space (M-\)
;delete-horizontal-space (M-\)
:Delete all spaces and tabs around point.
:pointの周りのスペースとタブをすべて削除する。
;kill-region
;kill-region
:Kill the text in the current region.
:現在の領域のテキストを消す。
;copy-region-as-kill
;copy-region-as-kill
:Copy the text in the region to the kill buffer.
:領域内のテキストをキルバッファにコピーする。
;copy-backward-word
;copy-backward-word
:Copy the word before point to the kill buffer.  The word boundaries are the same as  backward-word.
:point前のワードをキルバッファにコピーする。 ワード境界はバックワードワードと同じである。
;copy-forward-word
;copy-forward-word
:Copy  the  word  following  point to the kill buffer.  The word boundaries are the same as forward-word.
:ワードに続く点をキルバッファにコピーする。 ワード境界はforward-wordと同じである。
;yank (C-y)
;yank (C-y)
:Yank the top of the kill ring into the buffer at point.
:キリング上部をバッファーの中に引き込む。
;yank-pop (M-y)
;yank-pop (M-y)
:Rotate the kill ring, and yank the new top.  Only works following yank or yank-pop.
:キルリングを回転させ、新しいトップをヤンクする。 ヤンクまたはヤンクポップに続いてのみ機能する。


=== Numeric Arguments ===
=== Numeric Arguments ===
;digit-argument (M-0, M-1, ..., M--)
;digit-argument (M-0, M-1, ..., M--)
:Add this digit to the argument already accumulating, or start a new argument.  M-- starts a negative argument.
:既に蓄積されている引数にこの桁を追加するか、新しい引数を開始する。 M--負の引数を開始する。
;universal-argument
;universal-argument
:This is  another  way to specify an argument.  If this command is followed by one or more digits, optionally with a leading minus sign, those digits define the  argument.  If  the command  is  followed by digits, executing universal-argument again ends the numeric argument, but is otherwise ignored.  As a special case, if this command  is  immediately  followed  by  a  character that is neither a digit nor minus sign, the argument count for the next command is multiplied by four.  The argument count is  initially  one,  so  executing this  function the first time makes the argument count four, a second time makes the argument count sixteen, and so on.
:これは、引数を指定するもう1つの方法である。 このコマンドの後に1桁以上の数字が続き、オプションで先頭にマイナス記号が付く場合、その数字が引数を定義する。 このコマンドの後に数字が続く場合、再度universal-argumentを実行すると数値引数は終了するが、それ以外は無視される。 特殊なケースとして、このコマンドの直後に数字でもマイナス記号でもない文字が続く場合、次のコマンドの引数カウントは4倍になる。 引数カウントは最初は1なので、この関数を1回目に実行すると引数カウントは4となり、2回目に実行すると引数カウントは16となる。


=== Completing ===
=== Completing ===
;complete (TAB)
;complete (TAB)
:Attempt to perform completion on the text before point.  Bash attempts completion treating the  text as a variable (if the text begins with $), username (if the text begins with ~), hostname (if the text begins with @), or command  (including  aliases  and  functions)  in turn.  If none of these produces a match, filename completion is attempted.
:point前のテキストに対して補完を試みる。 Bashは、テキストを変数(テキストが$で始まる場合)、ユーザー名(テキストが~で始まる場合)、ホスト名(テキストが@で始まる場合)、コマンド(エイリアスや関数を含む)として順番に扱い、補完を試みる。 どれもマッチしない場合は、ファイル名補完を試みる。
;possible-completions (M-?)
;possible-completions (M-?)
:List the possible completions of the text before point.
:pointの前に、テキストの可能な完成形を列挙する。
;insert-completions (M-*)
;insert-completions (M-*)
:Insert  all  completions of the text before point that would have been generated by possible-completions.
:possible-completionsによって生成されたであろう、pointの前のテキストのすべての補完を挿入する。
;menu-complete
;menu-complete
:Similar to complete, but replaces the word to be completed with a single  match  from  the list  of possible completions.  Repeated execution of menu-complete steps through the list of possible completions, inserting each match in turn.  At the end of the list of  completions,  the  bell  is rung (subject to the setting of bell-style) and the original text is restored.  An argument of n moves n positions forward in the list of matches;  a  negative argument  may  be  used to move backward through the list.  This command is intended to be bound to TAB, but is unbound by default.
:completeと似ているが、補完される単語を、補完可能リストからマッチする単語1つに置き換える。 menu-completeを繰り返し実行することで、補完可能な単語リストに順番にマッチする単語を挿入していく。 補完のリストが終わると、ベルが鳴らされ(ベルスタイルの設定に従う)、元のテキストに戻る。 引数nを指定すると、マッチのリストがn個前に進む。 このコマンドはTABにバインドされることを意図しているが、デフォルトではバインドされていない。
;menu-complete-backward
;menu-complete-backward
:Identical to menu-complete, but moves backward through the list of  possible  completions, as  if  menu-complete  had been given a negative argument.  This command is unbound by default.
:menu-completeと同じだが、あたかもmenu-completeに負の引数を与えたかのように、補完可能なリストを後方に移動する。 このコマンドはデフォルトではバインドされていない。
;delete-char-or-list
;delete-char-or-list
:Deletes the character under the cursor if not at the beginning or end of  the  line  (like delete-char).  If  at the  end of the line, behaves identically to possible-completions. This command is unbound by default.
:行頭または行末でない場合、カーソルの下にある文字を削除する(delete-charと同じ)。 行末にある場合は、可能補完と同じ動作をする。このコマンドはデフォルトではバインドされていない。
;complete-filename (M-/)
;complete-filename (M-/)
:Attempt filename completion on the text before point.
:pointより前のテキストでファイル名の補完を試みる。
;possible-filename-completions (C-x /)
;possible-filename-completions (C-x /)
:List the possible completions of the text before point, treating it as a filename.
:pointの前のテキストをファイル名として扱い、可能な補完を列挙する。
;complete-username (M-~)
;complete-username (M-~)
:Attempt completion on the text before point, treating it as a username.
:pointより前のテキストをユーザー名として扱い、補完を試みる。
;possible-username-completions (C-x ~)
;possible-username-completions (C-x ~)
:List the possible completions of the text before point, treating it as a username.
:point前のテキストをユーザー名として扱い、可能な補完を列挙する。
;complete-variable (M-$)
;complete-variable (M-$)
:Attempt completion on the text before point, treating it as a shell variable.
:point前のテキストをシェル変数として扱い、補完を試みる。
;possible-variable-completions (C-x $)
;possible-variable-completions (C-x $)
:List the possible completions of the text before point, treating it as a shell variable.
:シェル変数として扱い、pointの前にあるテキストの可能な補完を列挙する。
;complete-hostname (M-@)
;complete-hostname (M-@)
:Attempt completion on the text before point, treating it as a hostname.
:pointより前のテキストをホスト名として扱い、補完を試みる。
;possible-hostname-completions (C-x @)
;possible-hostname-completions (C-x @)
:List the possible completions of the text before point, treating it as a hostname.
:pointの前のテキストをホスト名として扱い、可能な補完を列挙する。
;complete-command (M-!)
;complete-command (M-!)
:Attempt completion on the text before point, treating it as a command name.  Command  completion attempts to match the text against aliases, reserved words, shell functions, shell builtins, and finally executable filenames, in that order.
:pointより前のテキストをコマンド名として扱い、補完を試みる。 コマンド補完は、エイリアス、予約語、シェル関数、シェル組み込み関数、そして最後に実行ファイル名の順に、テキストとのマッチングを試みる。
;possible-command-completions (C-x !)
;possible-command-completions (C-x !)
:List the possible completions of the text before point, treating it as a command name.
:pointの前のテキストをコマンド名として扱い、可能な補完を列挙する。
;dynamic-complete-history (M-TAB)
;dynamic-complete-history (M-TAB)
:Attempt completion on the text before point, comparing the text  against  lines  from  the history list for possible completion matches.
:point前のテキストに対して補完を試み、補完にマッチする可能性のある履歴リストの行とテキストを比較する。
;dabbrev-expand
;dabbrev-expand
:Attempt  menu  completion  on the text before point, comparing the text against lines from the history list for possible completion matches.
:point前のテキストに対してメニュー補完を試み、補完にマッチする可能性のある履歴リストの行とテキストを比較する。
;complete-into-braces (M-{)
;complete-into-braces (M-{)
:Perform filename completion and insert the list of possible  completions  enclosed  within braces so the list is available to the shell (see Brace Expansion above).
:ファイル名の補完を実行し、可能な補完のリストを中括弧で囲んで挿入し、シェルがそのリストを利用できるようにする(上記の[[#Brace Expansion|Brace Expansion ]]を参照)。


=== Keyboard Macros ===
=== Keyboard Macros ===
;start-kbd-macro (C-x ()
;start-kbd-macro (C-x ()
:Begin saving the characters typed into the current keyboard macro.
:現在のキーボードマクロに入力された文字の保存を開始する。
;end-kbd-macro (C-x ))
;end-kbd-macro (C-x ))
:Stop saving the characters typed into the current keyboard macro and store the definition.
:現在のキーボードマクロに入力された文字の保存を停止し、定義を保存する。
;call-last-kbd-macro (C-x e)
;call-last-kbd-macro (C-x e)
:Re-execute  the  last keyboard macro defined, by making the characters in the macro appear as if typed at the keyboard.
:最後に定義したキーボードマクロを再実行し、マクロ内の文字をキーボードで入力したように表示させる。
;print-last-kbd-macro ()
;print-last-kbd-macro ()
:Print the last keyboard macro defined in a format suitable for the inputrc file.
:最後に定義されたキーボードマクロを inputrc ファイルに適した形式で表示する。


=== Miscellaneous ===
=== Miscellaneous ===
;re-read-init-file (C-x C-r)
;re-read-init-file (C-x C-r)
:Read in the contents of the inputrc file, and incorporate any bindings or variable assignments found there.
:inputrcファイルの内容を読み込み、そこで見つかったバインディングや変数の割り当てを取り込む。
;abort (C-g)
;abort (C-g)
:Abort  the current editing command and ring the terminal's bell (subject to the setting of bell-style).
:現在の編集コマンドを中止し、端末のベルを鳴らす(ベルスタイルの設定に従う)。
;do-lowercase-version (M-A, M-B, M-x, ...)
;do-lowercase-version (M-A, M-B, M-x, ...)
:If the metafied character x is uppercase, run the command that is bound to the corresponding metafied lowercase character.  The behavior is undefined if x is already lowercase.
:メタファー化された文字xが大文字の場合、対応するメタファー化された小文字にバインドされたコマンドを実行する。 xがすでに小文字である場合の動作は未定義である。
;prefix-meta (ESC)
;prefix-meta (ESC)
:Metafy the next character typed.  ESC f is equivalent to Meta-f.
:次に入力された文字をメタファイする。 ESC fはMeta-fと等価である。
;undo (C-_, C-x C-u)
;undo (C-_, C-x C-u)
:Incremental undo, separately remembered for each line.
:行ごとに個別に記憶されるインクリメンタルなアンドゥ。
;revert-line (M-r)
;revert-line (M-r)
:Undo  all changes made to this line.  This is like executing the undo command enough times to return the line to its initial state.
:この行に加えられたすべての変更を元に戻す。 これは、行を初期状態に戻すのに十分な回数、undoコマンドを実行するようなものだ。
;tilde-expand (M-&)
;tilde-expand (M-&)
:Perform tilde expansion on the current word.
:現在の単語にチルダ展開を行う。
;set-mark (C-@, M-<space>)
;set-mark (C-@, M-<space>)
:Set the mark to the point.  If a numeric argument is supplied, the mark is set to that position.
:マークをポイントに設定する。 数値引数が与えられると、マークはその位置に設定される。
;exchange-point-and-mark (C-x C-x)
;exchange-point-and-mark (C-x C-x)
:Swap  the  point with the mark.  The current cursor position is set to the saved position, and the old cursor position is saved as the mark.
:ポイントとマークを入れ替える。 現在のカーソル位置が保存された位置に設定され、古いカーソル位置がマークとして保存される。
;character-search (C-])
;character-search (C-])
:A character is read and point is moved to the next occurrence of that character.  A  negative count searches for previous occurrences.
:文字が読み込まれ、ポイントはその文字の次の出現箇所に移動する。 負のカウントは、前の出現を検索する。
;character-search-backward (M-C-])
;character-search-backward (M-C-])
:A  character  is  read and point is moved to the previous occurrence of that character.  A negative count searches for subsequent occurrences.
:文字が読み込まれ、その文字の前にポイントが移動する。 負のカウントは、それ以降の出現を検索する。
;skip-csi-sequence
;skip-csi-sequence
:Read enough characters to consume a multi-key sequence such as those defined for keys like Home  and  End.  Such  sequences  begin  with a Control Sequence Indicator (CSI), usually ESC-[. If this sequence is bound to "\[", keys producing such sequences will have no  effect  unless explicitly bound to a readline command, instead of inserting stray characters into the editing buffer.  This is unbound by default, but usually bound to ESC-[.
:HomeやEndのようなキーに定義されているようなマルチキーシーケンス を消費するのに十分な文字を読む。 このシーケンスが<nowiki>"\["</nowiki>にバインドされている場合、このようなシーケンスを生成するキーは、編集バッファーに迷子文字を挿入する代わりに、readlineコマンドに明示的にバインドされない限り、何の効果も持たない。 これはデフォルトではバインドされていないが、通常は <nowiki>ESC-[</nowiki> にバインドされている。
;insert-comment (M-#)
;insert-comment (M-#)
:Without a numeric argument, the value of the readline comment-begin variable  is  inserted at  the  beginning  of  the current line.  If a numeric argument is supplied, this command acts as a toggle: if the characters at the beginning of the line do not match the value of comment-begin,  the  value  is  inserted,  otherwise  the  characters in comment-begin are deleted from the beginning of the line.  In either case, the line is accepted as if a newline  had  been typed. The default value of comment-begin causes this command to make the current line a shell comment.  If a numeric argument causes the comment  character  to  be removed, the line will be executed by the shell.
:数値引数がない場合、readline comment-begin変数の値が現在の行の先頭に挿入される。 行頭の文字がcomment-beginの値と一致しない場合、その値が挿入され、一致しない場合、行頭からcomment-beginの文字が削除される。 どちらの場合も、行は改行がタイプされたものとして受け入れられる。comment-beginのデフォルト値は、現在の行をシェルコメントにする。 数値引数によってコメント文字が削除されると、その行はシェルによって実行される。
;glob-complete-word (M-g)
;glob-complete-word (M-g)
:The word before point is treated as a pattern for pathname expansion, with an asterisk implicitly appended.  This pattern is used to generate a list of matching filenames for possible completions.
:pointの前の単語は、パス名展開のパターンとして扱われ、暗黙的にアスタリスクが付加される。 このパターンは、可能な補完のために、マッチするファイル名のリストを生成するために使われる。
;glob-expand-word (C-x *)
;glob-expand-word (C-x *)
:The  word  before  point  is  treated as a pattern for pathname expansion, and the list of matching filenames is inserted, replacing the word.  If a numeric argument is supplied, an asterisk is appended before pathname expansion.
:pointの前の単語は、パス名展開のパターンとして扱われ、一致する ファイル名のリストが、単語を置き換えて挿入される。 数値引数が与えられると、パス名展開の前にアスタリスクが付加される。
;glob-list-expansions (C-x g)
;glob-list-expansions (C-x g)
:The  list  of  expansions that would have been generated by glob-expand-word is displayed, and the line is redrawn.  If a numeric argument is supplied, an asterisk is  appended  before pathname expansion.
:glob-expand-wordによって生成されたであろう展開のリストが表示され、行が再描画される。 数値引数が与えられると、パス名展開の前にアスタリスクが付加される。
;dump-functions
;dump-functions
:Print all of the functions and their key bindings to the readline output stream.  If a numeric argument is supplied, the output is formatted in such a way that it can be made part of an inputrc file.
:すべての関数とそのキーバインディングをreadline出力ストリームに出力する。 数値引数が与えられた場合、出力は inputrc ファイルの一部となるようにフォーマットされる。
;dump-variables
;dump-variables
:Print  all  of  the  settable  readline variables and their values to the readline output stream.  If a numeric argument is supplied, the output is formatted in such a way that  it can be made part of an inputrc file.
:設定可能なすべての readline 変数とその値を readline 出力ストリームに出力する。 数値引数が与えられた場合、出力は inputrc ファイルの一部となるようにフォーマットされる。
;dump-macros
;dump-macros
:Print all of the readline key sequences bound to macros and the strings they output.  If a numeric argument is supplied, the output is formatted in such a way that it  can  be  made part of an inputrc file.
:マクロにバインドされているすべてのreadlineキーシーケンスと、それらが出力する文字列を表示する。 数値引数が与えられた場合、出力は inputrc ファイルの一部となるようにフォーマットされる。
;display-shell-version (C-x C-v)
;display-shell-version (C-x C-v)
:Display version information about the current instance of bash.
:現在のbashインスタンスのバージョン情報を表示する。


=== Programmable Completion ===
=== Programmable Completion ===
When  word completion is attempted for an argument to a command for which a completion specification (a compspec) has been defined using the complete builtin (see SHELL BUILTIN COMMANDS below), the programmable completion facilities are invoked.
complete組み込み関数(後述の「[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]」を参照)を使用して補完指定(compspec)が定義されているコマンドの引数に対して単語補完を行おうとすると、プログラム可能な補完機能が呼び出される。


First,  the  command name is identified.  If the command word is the empty string (completion attempted at the beginning of an empty line), any compspec defined with the -E option to  complete is  used.  If a compspec has been defined for that command, the compspec is used to generate the list of possible completions for the word.  If the command word is a full  pathname,  a  compspec for  the  full pathname is searched for first.  If no compspec is found for the full pathname, an attempt is made to find a compspec for the portion following the final slash.  If those  searches do  not  result in a compspec, any compspec defined with the -D option to complete is used as the default.  If there is no default compspec, bash attempts alias expansion on the command word as a final resort, and attempts to find a compspec for the command word from any successful expansion.
まず、コマンド名が特定される。 コマンドワードが空文字列の場合(空行の先頭で補完が試みられる)、completeの-Eオプションで定義されたcompspecが使用される。 そのコマンドに対してcompspecが定義されている場合は、そのcompspecを使用して、その単語に対して可能な補完のリストを生成する。 コマンドの単語がフルパス名の場合、フルパス名に対するcompspecが最初に検索される。 完全なパス名に対応するcompspecが見つからない場合は、最後のスラッシュに続く部分のcompspecを検索する。 これらの検索の結果、compspecが見つからなかった場合、 completeの-Dオプションで定義されたcompspecがデフォルトとして使用される。 デフォルトのcompspecがない場合、bashは最終手段としてコマンド語のエイリアス展開を試み、成功した展開からコマンド語のcompspecを見つけようとする。


Once a compspec has been found, it is used to generate the list of matching words.  If a compspec is not found, the default bash completion as described above under Completing is performed.
compspecが見つかると、それを使用して一致する単語のリストを生成する。 compspecが見つからなかった場合は、上記の「補完」で説明したデフォルトのbash補完が実行される。


First, the actions specified by the compspec are used.  Only matches which are  prefixed  by  the word  being  completed  are returned.  When the -f or -d option is used for filename or directory name completion, the shell variable FIGNORE is used to filter the matches.
まず、compspecで指定されたアクションが使用される。 補完される単語の接頭辞を持つマッチのみが返される。 ファイル名またはディレクトリ名の補完に -f または -d オプションが使用されている場合、シェル変数 FIGNORE がマッチのフィルタリングに使用される。


Any completions specified by a pathname expansion pattern to the -G option  are  generated  next. The words generated by the pattern need not match the word being completed.  The GLOBIGNORE shell variable is not used to filter the matches, but the FIGNORE variable is used.
Gオプションのパス名展開パターンで指定された補完が次に生成される。パターンによって生成される単語は、補完される単語と一致する必要はない。 GLOBIGNOREシェル変数はマッチのフィルタリングには使われず、FIGNORE変数が使われる。


Next, the string specified as the argument to the -W option is considered.  The string  is  first split  using the characters in the IFS special variable as delimiters.  Shell quoting is honored.
次に、-Wオプションの引数として指定された文字列が検討される。 文字列はまず、IFS特殊変数の文字を区切り文字として使って分割される。 シェル引用符付けは尊重される。
Each word is then expanded using brace expansion, tilde expansion, parameter and variable  expansion,  command  substitution,  and arithmetic expansion, as described above under EXPANSION.  The results are split using the rules described above under Word Splitting.  The results of  the  expansion  are  prefix-matched  against the word being completed, and the matching words become the possible completions.
次に、上記の「EXPANSION」で説明したように、波括弧展開、チルダ展開、 パラメータ展開、変数展開、コマンド置換、算術展開を使って各単語が展開される。 その結果は、上記の「単語の分割」で説明したルールで分割される。 展開の結果は、補完される単語と前方一致され、一致した単語が可能な補完となる。


After these matches have been generated, any shell function or command specified with the -F  and -C  options  is  invoked.  When  the  command or function is invoked, the COMP_LINE, COMP_POINT, COMP_KEY, and COMP_TYPE variables are assigned values as described above under  Shell Variables.
これらのマッチが生成された後、-Fおよび-Cオプションで指定されたシェル関数またはコマンドが呼び出される。 コマンドまたは関数が呼び出されると、COMP_LINE、COMP_POINT、COMP_KEY、COMP_TYPE 変数には、前述の「シェル変数」で説明した値が代入される。
If a shell function is being invoked, the COMP_WORDS and COMP_CWORD variables are also set.  When the function or command is invoked, the first argument ($1) is the name of the command whose  arguments  are being completed, the second argument ($2) is the word being completed, and the third argument ($3) is the word preceding the word being completed on the  current  command  line.  No filtering  of the generated completions against the word being completed is performed; the function or command has complete freedom in generating the matches.
シェル関数が呼び出される場合、COMP_WORDS 変数と COMP_CWORD 変数も設定される。 関数またはコマンドが呼び出されると、第1引数($1)は補完される引数のコマンド名、第2引数($2)は補完される単語、第3引数($3)は現在のコマンド行で補完される単語の前にある単語である。 生成された補完語を補完される単語と照合するフィルタリングは行われない。


Any function specified with -F is invoked first.  The function may use any of the  shell  facilities,  including  the  compgen builtin described below, to generate the matches.  It must put the possible completions in the COMPREPLY array variable, one per array element.
Fで指定された関数は最初に呼び出される。 この関数は、後述の compgen 組み込み関数を含む、シェルのどの機能を使ってもマッチを生成できる。 この関数は、COMPREPLY配列変数に、配列の要素ごとに1つずつ、可能な補完を入れなければならない。


Next, any command specified with the -C option is invoked in an environment equivalent to command substitution.  It should  print  a  list  of completions, one per line, to the standard output. Backslash may be used to escape a newline, if necessary.
次に、-Cオプションで指定されたコマンドが、コマンド置換と同等の環境で起動される。 このコマンドは、1行に1つずつ、補完候補のリストを標準出力に出力する。必要であれば、バックスラッシュを使って改行をエスケープすることもできる。


After all of the possible completions are generated, any filter specified with the -X  option  is applied  to the list.  The filter is a pattern as used for pathname expansion; a & in the pattern is replaced with the text of the word being completed.  A literal & may be escaped with  a  backslash;  the backslash is removed before attempting a match.  Any completion that matches the pattern will be removed from the list.  A leading ! negates the pattern; in this case any completion not  matching the pattern will be removed.  If the nocasematch shell option is enabled, the match is performed without regard to the case of alphabetic characters.
すべての補完候補が生成された後、-Xオプションで指定されたフィルターがリストに適用される。 フィルターとは、パス名展開に使われるパターンである。パターン中の&は、補完される単語のテキストに置き換えられる。 リテラル&は、バックスラッシュでエスケープすることができる。バックスラッシュは、マッチを試みる前に取り除かれる。 パターンにマッチした補完はすべてリストから削除される。 この場合、パターンにマッチしない補完はすべて削除される。 nocasematchシェルオプションが有効な場合、アルファベットの大文字小文字を区別せずにマッチが行われる。


Finally, any prefix and suffix specified with the -P and -S options are added to each  member  of the  completion  list,  and the result is returned to the readline completion code as the list of possible completions.
最後に、-P -S オプションで指定された接頭辞と接尾辞が補完リストの各メンバーに追加され、その結果が可能な補完のリストとして readline 補完コードに返される。


If the previously-applied actions do not generate any matches, and the  -o dirnames option  was supplied to complete when the compspec was defined, directory name completion is attempted.
先に適用されたアクションがマッチを生成せず、compspec の定義時に -o dirnames オプションが補完のために指定されていた場合、ディレクトリ名の補完が試みられる。


If  the -o plusdirs option was supplied to complete when the compspec was defined, directory name completion is attempted and any matches are added to the results of the other actions.
compspec の定義時に -o plusdirs オプションが指定されていた場合、 ディレクトリ名の補完が試行され、マッチした場合は他のアクションの結果に追加される。


By default, if a compspec is found, whatever it generates is returned to the completion  code  as the  full  set  of possible completions.  The default bash completions are not attempted, and the readline default of filename completion is disabled.  If the -o bashdefault option  was  supplied to  complete  when  the  compspec  was defined, the bash default completions are attempted if the compspec generates no matches.  If the -o default option was supplied to complete when the  compspec  was  defined,  readline's default completion will be performed if the compspec (and, if attempted, the default bash completions) generate no matches.
デフォルトでは、compspecが見つかった場合、そのcompspecが生成するものはすべて、可能な補完のフルセットとして補完コードに返される。 デフォルトのbash補完は試行されず、readlineデフォルトのファイル名補完は無効になる。 compspec の定義時に -o bashdefault オプションが指定されていた場合、compspec がマッチを生成しなかった場合は bash のデフォルト補完が試行される。 compspec 定義時に -o default オプションを指定して補完を行なった場合、compspec (および試行された場合はデフォルトの bash 補完) がマッチしない場合、readline のデフォルト補完が実行される。


When a compspec indicates that directory name completion is desired, the programmable  completion functions  force readline to append a slash to completed names which are symbolic links to directories, subject to the value of the mark-directories readline variable, regardless of the setting of the mark-symlinked-directories readline variable.
compspecでディレクトリ名の補完が必要だと指定された場合、プログラム可能な補完関数は、mark-symlinked-directories readline変数の設定に関係なく、mark-directories readline変数の値に従って、ディレクトリへのシンボリックリンクである補完された名前にスラッシュを付加する。


There  is  some  support for dynamically modifying completions.  This is most useful when used in combination with a default completion specified with complete -D.  It's possible for shell  functions  executed as completion handlers to indicate that completion should be retried by returning an exit status of 124.  If a shell function returns 124, and changes the compspec associated with the command on which completion is being attempted (supplied as the first argument when the function is executed), programmable completion restarts from the beginning, with an attempt to find a new  compspec for that command.  This allows a set of completions to be built dynamically as completion is attempted, rather than being loaded all at once.
補完を動的に変更するサポートもある。 これは、complete -Dで指定されたデフォルトの補完と組み合わせて使用する場合に最も便利である。 補完ハンドラとして実行されるシェル関数は、終了ステータス124を返すことで、補完を再試行すべきであることを示すことができる。 シェル関数が124を返し、(関数が実行されたときに最初の引数として与えられた)補完を試みているコマンドに関連するcompspecを変更した場合、プログラマブル補完は、そのコマンドの新しいcompspecを見つけようとして、最初からやり直す。 これにより、一度にすべてを読み込むのではなく、補完を試みるたびに動的に補完セットを構築することができる。


For instance, assuming that there is a library of compspecs, each kept in a file corresponding to the name of the command, the following default completion function would load completions dynamically:
例えば、コンプスペックのライブラリーがあり、それぞれがコマンド名に対応するファイルに保存されていると仮定すると、次のようなデフォルトの補完関数が補完を動的にロードすることになる:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Line 1,824: Line 1,824:


== HISTORY ==
== HISTORY ==
When the -o history option to the set builtin is enabled, the shell provides access to  the  command  history, the list of commands previously typed.  The value of the HISTSIZE variable is used as the number of commands to save in a history list.  The text of the last HISTSIZE commands (default  500)  is  saved.  The shell stores each command in the history list prior to parameter and variable expansion (see EXPANSION above) but after history expansion is performed, subject to the values of the shell variables HISTIGNORE and HISTCONTROL.
set 組み込み関数の -o history オプションを有効にすると、シェルはコマンド履歴(以前に入力したコマンドのリスト)にアクセスできるようになる。 '''HISTSIZE''' 変数の値は、履歴リストに保存するコマンドの数として使用される。 最後のHISTSIZEコマンド(デフォルト500)のテキストが保存される。 シェルは、パラメータと変数の拡張(上記のEXPANSIONを参照)の前に、ヒストリ拡張が実行された後に、シェル変数'''HISTIGNORE'''と'''HISTCONTROL'''の値に従って、各コマンドをヒストリリストに保存する。


On  startup,  the  history  is  initialized from the file named by the variable HISTFILE (default ~/.bash_history).  The file named by the value of HISTFILE is truncated, if necessary, to contain no  more than the number of lines specified by the value of HISTFILESIZE.  If HISTFILESIZE is unset, or set to null, a non-numeric value, or a numeric value less than zero, the history file  is not truncated.  When the history file is read, lines beginning with the history comment character followed immediately by a digit are interpreted as timestamps for  the  following  history  line. These  timestamps are optionally displayed depending on the value of the HISTTIMEFORMAT variable.
起動時に、履歴は変数'''HISTFILE'''で指定されたファイル(デフォルトは~/.bash_history)から初期化される。 '''HISTFILE'''の値で指定されたファイルは、必要に応じて'''HISTFILESIZE'''の値で指定された行数以下に切り詰められる。 '''HISTFILESIZE'''が未設定、またはNULL、非数値、0未満の数値に設定されている場合、 履歴ファイルは切り捨てられない。 ヒストリファイルが読み込まれると、ヒストリコメント文字の直後に数字が続く行は、次のヒストリ行のタイムスタンプとして解釈される。これらのタイムスタンプは、変数'''HISTTIMEFORMAT'''の値に応じてオプションで表示される。
When a shell with history enabled exits, the last $HISTSIZE lines are  copied  from  the  history list to $HISTFILE.  If the histappend shell option is enabled (see the description of shopt under SHELL BUILTIN COMMANDS below), the lines are appended to the history file, otherwise the  history file  is overwritten.  If HISTFILE is unset, or if the history file is unwritable, the history is not saved. If the HISTTIMEFORMAT variable is set, time stamps are written to the  history  file, marked  with the history comment character, so they may be preserved across shell sessions.  This uses the history comment character to distinguish timestamps from  other  history  lines.  After saving the history, the history file is truncated to contain no more than HISTFILESIZE lines.  If HISTFILESIZE is unset, or set to null, a non-numeric value, or a numeric value  less  than  zero, the history file is not truncated.
履歴を有効にしたシェルが終了すると、最後の $HISTSIZE 行が履歴リストから $HISTFILE にコピーされる。 histappend シェル・オプションが有効な場合 (以下の [[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]] の shopt の説明を参照のこと)、その行はヒストリ・ファイルに追加される。 HISTFILEが設定されていない場合、または履歴ファイルが書き込み不可能な場合、履歴は保存されない。 '''HISTTIMEFORMA'''T変数が設定されている場合、履歴ファイルにタイムスタンプが書き込まれ、履歴コメント文字でマークされる。 これは、タイムスタンプを他のヒストリ行と区別するためにヒストリコメント文字を使用する。 ヒストリを保存した後、ヒストリファイルは'''HISTFILESIZE'''行以下に切り詰められる。 '''HISTFILESIZE'''が設定されていないか、NULL、数値以外、または0未満の数値に設定されている場合、ヒストリファイルは切り捨てられない。


The builtin command fc (see SHELL BUILTIN COMMANDS below) may be used to list or edit and re-execute a portion of the history list.  The history builtin may be used to  display  or  modify  the history  list  and manipulate the history file.  When using command-line editing, search commands are available in each editing mode that provide access to the history list.
組み込みコマンドfc(後述の「[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]」を参照)を使用して、ヒストリリストの一部を一覧表示または編集して再実行することができる。 history組み込みコマンドは、履歴リストの表示や変更、履歴ファイルの操作に使用できる。 コマンドライン編集を使用する場合、各編集モードで履歴リストにアクセスできる検索コマンドが利用できる。
The shell allows control over which commands are saved on the history list.  The HISTCONTROL and HISTIGNORE variables may be set to cause the shell to save only a subset of the commands entered.
シェルでは、どのコマンドを履歴リストに保存するかを制御できる。 '''HISTCONTROL''' 変数と HISTIGNORE 変数を設定することで、入力されたコマンドの一部だけをシェルに保存させることができる。
The cmdhist shell option, if enabled, causes the shell to attempt to save each line of  a  multiline  command  in the same history entry, adding semicolons where necessary to preserve syntactic correctness.  The lithist shell option causes the shell to save the command  with  embedded  newlines  instead of semicolons.  See the description of the shopt builtin below under SHELL BUILTIN COMMANDS for information on setting and unsetting shell options.
cmdhist シェル・オプションを有効にすると、シェルは複数行のコマンドの各行を同じ履歴エントリに保存しようとし、構文の正しさを保つために必要な場合はセミコロンを追加する。 lithist シェル・オプションは、セミコロンの代わりに改行を埋め込んでコマンドを保存するようにする。 シェル・オプションの設定と解除については、後述の「[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]」の shopt 組み込みコマンドの説明を参照のこと。


== HISTORY EXPANSION ==
== HISTORY EXPANSION ==
The shell supports a history expansion feature that is similar to the history expansion  in  csh.
シェルは、cshのヒストリ展開に似たヒストリ展開機能をサポートしている。
This  section  describes  what syntax features are available.  This feature is enabled by default for interactive shells, and can be disabled using the +H option to the set builtin  command  (see SHELL  BUILTIN COMMANDS  below).  Non-interactive shells do not perform history expansion by default.
このセクションでは、どのような構文機能が利用できるかを説明する。 この機能は対話型シェルではデフォルトで有効になっており、set builtin コマンドの +H オプションを使用して無効にすることができる(後述の「SHELL BUILTIN COMMANDS」を参照)。 非対話型シェルは、デフォルトではヒストリ展開を行わない。


History expansions introduce words from the history list into the input stream, making it easy to repeat  commands,  insert the arguments to a previous command into the current input line, or fix errors in previous commands quickly.
ヒストリ拡張は、ヒストリリストから単語を入力ストリームに導入し、コマンドを繰り返したり、前のコマンドの引数を現在の入力行に挿入したり、前のコマンドのエラーを素早く修正したりすることを容易にする。


History expansion is performed immediately after a complete line is read, before the shell breaks it  into  words,  and  is  performed on each line individually without taking quoting on previous lines into account.  It takes place in two parts.  The first is to determine which line from  the history  list  to use during substitution.  The second is to select portions of that line for inclusion into the current one.  The line selected from the history is the event, and the  portions of  that  line  that are acted upon are words.  Various modifiers are available to manipulate the selected words.  The line is broken into words in the same fashion as when reading input, so that several  metacharacter-separated words surrounded by quotes are considered one word.  History expansions are introduced by the appearance of the history expansion character, which is ! by  default.   Only  backslash (\) and single quotes can quote the history expansion character, but the history expansion character is also treated as quoted if it immediately precedes the closing double quote in a double-quoted string.
ヒストリ展開は、完全な行が読み込まれた直後、シェルがそれを単語に分割する前に実行され、前の行のクォートを考慮することなく、各行に対して個別に実行される。 これは2つの部分に分かれて行われる。 1つ目は、置換時に履歴リストからどの行を使用するかを決定することである。 もうひとつは、その行の一部を現在の行に含めるために選択することである。 履歴から選択された行がイベントであり、その行の一部が単語となる。 選択された単語を操作するために、さまざまな修飾子が利用できる。 行は入力を読むときと同じ方法で単語に分割され、引用符で囲まれたメタ文字で区切られた複数の単語は1つの単語とみなされる。 ヒストリ拡張は、ヒストリ拡張文字(デフォルトではヒストリ展開文字を引用符で囲むことができるのは、バックスラッシュ( \ )と一重引用符だけであるが、二重引用符で囲んだ文字列の閉じ二重引用符の直前にヒストリ展開文字がある場合も、引用符で囲んだものとして扱われる。


Several characters inhibit history expansion if found immediately following the history expansion character, even if it is unquoted: space, tab, newline, carriage return, and =.  If  the  extglob shell option is enabled, ( will also inhibit expansion.
extglobシェル・オプションが有効な場合、()も展開を抑制する。


Several  shell options settable with the shopt builtin may be used to tailor the behavior of history expansion.  If the histverify shell option is enabled (see the  description  of  the  shopt builtin  below),  and readline is being used, history substitutions are not immediately passed to the shell parser.  Instead, the expanded line is reloaded into the readline  editing  buffer  for further  modification.  If readline is being used, and the histreedit shell option is enabled, a failed history substitution will be reloaded into the readline  editing  buffer  for  correction.
shopt 組み込み関数で設定可能ないくつかのシェル・オプションを使用して、ヒストリ展開の動作を調整することができる。 histverify シェル・オプションが有効で(後述の [[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]の説明を参照)、readline が使用されている場合、ヒストリ置換はシェル・パーサにすぐには渡されない。 その代わりに、展開された行はreadline編集バッファに再ロードされ、さらに修正される。 readlineが使用されていて、histreeditシェルオプションが有効になっている場合、失敗したヒストリ置換は修正のためにreadline編集バッファにリロードされる。
The  -p option to the history builtin command may be used to see what a history expansion will do before using it.  The -s option to the history builtin may be used to add commands to the end  of the  history  list without actually executing them, so that they are available for subsequent recall.
history 組み込みコマンドの -p オプションを使用すると、ヒストリ拡張を使用する前に、その拡張が何をするかを確認することができる。 history組み込みコマンドの-sオプションは、コマンドを実際に実行することなく、履歴リストの最後に追加するために使用される。


The shell allows control of the various characters used by the history expansion  mechanism  (see the  description  of  histchars above under Shell Variables).  The shell uses the history comment character to mark history timestamps when writing the history file.
シェルでは、ヒストリ展開メカニズムで使用されるさまざまな文字を制御できる(上記の「[[#Shell Variables|Shell Variables ]]」の「histchars」の説明を参照のこと)。 シェルはヒストリファイルを書き込む際に、ヒストリのタイムスタンプをマークするためにヒストリコメント文字を使用する。


=== Event Designators ===
=== Event Designators ===
An event designator is a reference to a command line entry in the history list.  Unless the  reference is absolute, events are relative to the current position in the history list.
イベント・デジグネーターは、ヒストリーリスト内のコマンドラインエントリーの参照である。 参照が絶対的でない限り、イベントはヒストリーリストの現在の位置からの相対的なものである。
;!       
;!       
:Start a history substitution, except when followed by a blank, newline, carriage return, = or ( (when the extglob shell option is enabled using the shopt builtin).
:空白、改行、キャリッジリターン、=、または ( shopt 組み込み関数で extglob シェルオプションが有効になっている場合) が続く場合を除き、履歴置換を開始する。
;!n
;!n
:Refer to command line n.
:コマンドラインnを参照のこと。
;!-n
;!-n
:Refer to the current command minus n.
:現在のコマンドマイナスnを参照。
;!!
;!!
:Refer to the previous command.  This is a synonym for `!-1'.
:前のコマンドを参照のこと。 これは `!-1' と同意語である。
;!string
;!string
:Refer to the most recent command preceding the current position in the history list starting with string.
:文字列で始まる履歴リストで、現在の位置より前にある最新のコマンドを参照する。
;!?string<nowiki>[?]</nowiki>
;!?string<nowiki>[?]</nowiki>
:Refer  to  the most recent command preceding the current position in the history list containing string. The trailing ? may be omitted if string is followed immediately by a newline.  If string is missing, the string from the most recent search is used; it is an error if there is no previous search string.
:stringを含む履歴リストで、現在の位置より前にある最新のコマンドを参照する。 stringの直後に改行が続く場合、末尾の ? は省略できる。 stringがない場合、最新の検索文字列が使われる。以前の検索文字列がない場合はエラーとなる。
;^string1^string2^
;^string1^string2^
:Quick substitution.  Repeat the previous command, replacing string1 with string2.  Equivalent to ``!!:s^string1^string2^'' (see Modifiers below).
:素早く置換する。 文字列1を文字列2に置き換えて、前のコマンドを繰り返す。 (以下の[[#Modifiers|Modifiers ]]を参照のこと)。
;!#
;!#
:The entire command line typed so far.
:これまでに入力されたコマンドライン全体。


=== Word Designators ===
=== Word Designators ===
Word designators are used to select desired words from the event.  A : separates the event specification from the word designator.  It may be omitted if the word designator begins with a ^$, *, -, or %.  Words are numbered from the beginning of the line, with the first word being denoted by 0 (zero).  Words are inserted into the current line separated by single spaces.
単語指定子は、イベントから必要な単語を選択するために使用される。 は、イベントの指定と単語指示子を区切る。 単語指定子が^$*-%で始まる場合は省略できる。 単語は行頭から順に番号付けされ、最初の単語は0(ゼロ)で示される。 単語は、現在の行に半角スペースで区切って挿入される。


;0 (zero)
;0 (zero)
:The zeroth word.  For the shell, this is the command word.
:番目の単語。 シェルでは、これはコマンドワードである。
;n
;n
:The nth word.
:The nth word.
;^
;^
:The first argument.  That is, word 1.
:最初の引数。 つまり単語1である。
;$
;$
:The last word.  This is usually the last argument, but will expand to the zeroth  word  if there is only one word in the line.
:最後の単語。 これは通常最後の引数だが、行に単語が1つしかない場合は0番目の単語に展開される。
;%
;%
:The  first  word matched by the most recent `?string?' search, if the search string begins with a character that is part of a word.
:検索文字列が単語の一部である文字で始まっている場合、直近の `?string?' 検索でマッチした最初の単語。
;x-y
;x-y
:A range of words; `-y' abbreviates `0-y'.
:'-y'は'0-y'を省略したものである。
;*
;*
:All of the words but the zeroth.  This is a synonym for `1-$'.  It is not an error to  use * if there is just one word in the event; the empty string is returned in that case.
:0番目以外のすべての単語。 これは `1-$' と同意語である。 その場合は空文字列が返される。
;x*
;x*
:Abbreviates x-$.
:Abbreviates x-$.
;x-
;x-
:Abbreviates x-$ like x*, but omits the last word.  If x is missing, it defaults to 0.
:x*のようにx-$を省略するが、最後の単語は省略する。 xがない場合、デフォルトは0になる。


If  a word designator is supplied without an event specification, the previous command is used as the event.
イベント指定なしで単語指定子を与えた場合、前のコマンドがイベントとして使用される。


=== Modifiers ===
=== Modifiers ===
After the optional word designator, there may appear a sequence of one or more of  the  following modifiers,  each  preceded  by a `:'.  These modify, or edit, the word or words selected from the history event.
オプションの単語指示子の後には、それぞれ`:'で始まる1つ以上の修飾子が現れる。 これらは、履歴イベントから選択された単語を修正する。


;h
;h
:Remove a trailing filename component, leaving only the head.
:末尾のファイル名コンポーネントを削除し、先頭だけを残す。
;t
;t
:Remove all leading filename components, leaving the tail.
:ファイル名の先頭をすべて削除し、末尾を残す。
;r
;r
:Remove a trailing suffix of the form .xxx, leaving the basename.
:.xxx 形式の末尾のサフィックスを削除し、ベース名を残す。
;e
;e
:Remove all but the trailing suffix.
:末尾の接尾辞以外はすべて削除する。
;p
;p
:Print the new command but do not execute it.
:新しいコマンドを表示するが、実行はしない。
;q
;q
:Quote the substituted words, escaping further substitutions.
:置換された単語を引用し、それ以上の置換を避ける。
;x
;x
:Quote the substituted words as with q, but break into words at blanks and newlines.  The q and x modifiers are mutually exclusive; the last one supplied is used.
:qと同様に置換された単語を引用するが、空白と改行で単語を区切る。 q修飾子とx修飾子は互いに排他的であり、最後に与えられたものが使われる。
;s/old/new/
;s/old/new/
:Substitute  new  for  the first occurrence of old in the event line.  Any character may be used as the delimiter in place of /.  The final delimiter is optional if it  is  the  last character  of  the  event  line.  The delimiter may be quoted in old and new with a single backslash.  If & appears in new, it is replaced by old.  A single backslash will quote the &.  If old is null, it is set to the last old substituted, or, if no previous history substitutions took place, the last string in a !?string[?] search.  If  new  is  null,  each matching old is deleted.
:イベント行で最初に出現するoldをnewに置き換える。 最後のデリミタは、イベント行の最後の文字であれば任意である。 デリミタは、バックスラッシュ1つでoldとnewで引用することができる。 もし&がnewに現れた場合、それはoldに置き換えられる。 シングル・バックスラッシュは&を引用符で囲む。 oldがNULLの場合、最後に置換されたoldに設定され、それ以前に履歴の置換が行われなかった場合は、!?string[?]検索の最後の文字列に設定される。 newがNULLの場合、一致するoldはすべて削除される。
;&
;&
:Repeat the previous substitution.
:前の置換を繰り返す。
;g
;g
:Cause  changes to be applied over the entire event line.  This is used in conjunction with `:s' (e.g., `:gs/old/new/') or `:&'.  If used with `:s', any  delimiter  can  be  used  in place  of  /, and the final delimiter is optional if it is the last character of the event line.  An a may be used as a synonym for g.
:変更をイベント行全体に適用する。 これは `:s' (例えば `:gs/old/new/') または `:&' と組み合わせて使う。 s' と一緒に使う場合、/の代わりにどんな区切り文字でも使うことができ、最後の区切り文字がイベント行の最後の文字であれば省略可能である。 gの同義語としてaを使うこともできる。
;G
;G
:Apply the following `s' or `&' modifier once to each word in the event line.
:以下の`s'または`&'修飾子をイベント行の各単語に1回ずつ適用する。


== SHELL BUILTIN COMMANDS ==
== SHELL BUILTIN COMMANDS ==
Unless otherwise noted, each builtin command documented in this section as accepting options preceded by - accepts -- to signify the end of the options.  The :, true, false, and test/[ builtins do not accept options and do not treat -- specially.  The exit, logout, return, break,  continue, let,  and  shift  builtins  accept  and  process arguments beginning with - without requiring --.
特に断りのない限り、このセクションでオプションを受け付けるとして文書化されている各 組み込みコマンドは、オプションの終わりを示す -- を受け付ける。 test/[、true、false、test/[ 組み込み関数はオプションを受け付けず、 -- を特別に扱わない。 exit、logout、return、break、continue、let、shift 組み込み関数は、-- を必要とせずに - で始まる引数を受け入れ処理する。
Other builtins that accept arguments but are not specified as accepting options  interpret  arguments beginning with - as invalid options and require -- to prevent this interpretation.
引数を受け付けるがオプションを受け付けるように指定されていない他の組み込み関数は、 - で始まる引数を無効なオプションとして解釈し、この解釈を防ぐために -- を要求する。
;<nowiki>: [arguments]</nowiki>
;<nowiki>: [arguments]</nowiki>
:No  effect;  the command does nothing beyond expanding arguments and performing any specified redirections.  The return status is zero.
:コマンドは引数を展開し、指定されたリダイレクションを実行するだけで、何もしない。 リターンステータスは0である。


;<nowiki>.  filename [arguments]</nowiki>
;<nowiki>.  filename [arguments]</nowiki>
;<nowiki>source filename [arguments]</nowiki>
;<nowiki>source filename [arguments]</nowiki>
:Read and execute commands from filename in the current shell environment  and  return  the exit  status  of  the last command executed from filename.  If filename does not contain a slash, filenames in PATH are used to find the directory  containing  filename.  The  file searched  for in PATH need not be executable. When bash is not in posix mode, the current directory is searched if no file is found in PATH.  If the sourcepath option to the  shopt builtin  command  is turned off, the PATH is not searched.  If any arguments are supplied, they become the positional parameters when filename is executed.  Otherwise the positional parameters are unchanged.  If the -T option is enabled, source inherits any trap on DEBUG; if it is not, any DEBUG trap string is saved and restored around the call to  source,  and source  unsets  the  DEBUG trap while it executes.  If -T is not set, and the sourced file changes the DEBUG trap, the new value is retained when source completes.  The return  status  is the status of the last command exited within the script (0 if no commands are executed), and false if filename is not found or cannot be read.
:現在のシェル環境で filename からコマンドを読み込んで実行し、 filename から最後に実行されたコマンドの終了ステータスを返す。 filename にスラッシュが含まれていない場合、PATH 内のファイル名を使用して filename を含むディレクトリを検索する。 PATHで検索されるファイルは実行可能である必要はない。 bashがposixモードでない場合、PATHにファイルが見つからなければ、カレント・ディレクトリが検索される。 shopt組み込みコマンドのsourcepathオプションがオフの場合、PATHは検索されない。 引数が与えられている場合、それらは filename が実行されるときの位置パラメーターとなる。 それ以外の場合、位置パラメーターは変更されない。 -Tオプションが有効な場合、sourceはDEBUGのトラップを継承する。有効でない場合、DEBUGトラップ文字列はsourceへの呼び出しの周囲に保存および復元され、sourceは実行中にDEBUGトラップの設定を解除する。 Tが設定されておらず、ソース・ファイルがDEBUGトラップを変更した場合、ソースが完了すると新しい値が保持される。 戻りステータスは、スクリプト内で最後に終了したコマンドのステータス(コマンドが実行されていない場合は0)であり、filenameが見つからないか読み取れない場合はfalseである。


;<nowiki>alias [-p] [name[=value] ...]</nowiki>
;<nowiki>alias [-p] [name[=value] ...]</nowiki>
:Alias with no arguments or with the -p option prints the list of aliases in the form alias name=value on standard output.  When arguments are supplied, an alias is defined for each name whose value is given.  A trailing space in value causes the next word to  be  checked for alias substitution when the alias is expanded.  For each name in the argument list for which no value is supplied, the name and value of the alias  is  printed.  Alias  returns true unless a name is given for which no alias has been defined.
:引数なし、または-pオプションを指定したAliasは、alias name=valueという形式でエイリアスのリストを標準出力に表示する。 引数が与えられると、値が与えられる各名称に対してエイリアスが定義される。 valueの末尾に空白があると、エイリアスが展開されるときに、次の単語でエイリアスの置換がチェックされる。 値が与えられていない引数リストの各名に対して、エイリアスの名前と値が表示される。 エイリアスが定義されていない名前が与えられない限り、Aliasは真を返す。


;<nowiki>bg [jobspec ...]</nowiki>
;<nowiki>bg [jobspec ...]</nowiki>
:Resume each suspended job jobspec in the background, as if it had been started with &.  If jobspec is not present, the shell's notion of the current job is used.  bg jobspec returns 0 unless run when job control is disabled or, when run with job control enabled, any specified jobspec was not found or was started without job control.
:中断された各 jobspec をバックグラウンドで再開する。 jobspecが存在しない場合、シェルの現在のジョブの概念が使用される。 bg jobspecは、ジョブ制御が無効になっているときに実行されない限り0を返し、ジョブ制御が有効になっているときに実行された場合は、指定されたjobspecが見つからないか、ジョブ制御なしで開始された。


;<nowiki>bind [-m keymap] [-lpsvPSVX]</nowiki>
;<nowiki>bind [-m keymap] [-lpsvPSVX]</nowiki>
Line 1,939: Line 1,939:
;<nowiki>bind [-m keymap] keyseq:function-name</nowiki>
;<nowiki>bind [-m keymap] keyseq:function-name</nowiki>
;<nowiki>bind [-m keymap] keyseq:readline-command</nowiki>
;<nowiki>bind [-m keymap] keyseq:readline-command</nowiki>
:Display current readline key and function bindings, bind a  key  sequence  to  a  readline function  or  macro, or set a readline variable. Each non-option argument is a command as it would appear in .inputrc, but each binding or command must be passed as a separate  argument;  e.g.,  '"\C-x\C-r": re-read-init-file'.  Options, if supplied, have the following meanings:
:現在の readline キーと関数のバインディングを表示したり、キーシーケンスを readline 関数やマクロにバインドしたり、readline 変数を設定したりする。 オプション以外の各引数は、.inputrcに表示されるコマンドであるが、各バインディングまたはコマンドは、別の引数として渡されなければならない;例えば、'"˶-xC-r": re-read-init-file'.  オプションが与えられた場合、以下の意味を持つ:
::;-m keymap
::;-m keymap
:::Use keymap as the keymap to be affected by the  subsequent  bindings.  Acceptable keymap  names  are  emacs,  emacs-standard,  emacs-meta,  emacs-ctlx,  vi, vi-move, vi-command, and vi-insert.  vi is equivalent to vi-command (vi-move is also a  synonym); emacs is equivalent to emacs-standard.
:::後続のバインディングの影響を受けるキーマップとしてkeymapを使う。 使用可能なキーマップ名は、emacs、emacs-standard、 emacs-meta、emacs-ctlx、vi、vi-move、vi-command、vi-insertである。 viはvi-commandと等価であり(vi-moveも同義語である)、emacsは emacs-standardと等価である。
::;-l
::;-l
:::List the names of all readline functions.
:::すべてのreadline関数の名前を列挙する。
::;-p
::;-p
:::Display  readline  function  names  and bindings in such a way that they can be re-read.
:::readlineの関数名とバインディングを、再読込できるように表示する。
::;-P
::;-P
:::List current readline function names and bindings.
:::現在のreadline関数名とバインディングをリストアップする。
::;-s
::;-s
:::Display readline key sequences bound to macros and the strings they output in  such a way that they can be re-read.
:::マクロにバインドされたreadlineキーシーケンスと、それらが出力する文字列を、再読み取りできるように表示する。
::;-S
::;-S
:::Display readline key sequences bound to macros and the strings they output.
:::マクロにバインドされたreadlineキーシーケンスと、それらが出力する文字列を表示する。
::;-v
::;-v
:::Display readline variable names and values in such a way that they can be re-read.
:::リードラインの変数名と値を再読込できるように表示する。
::;-V
::;-V
:::List current readline variable names and values.
:::現在のリードライン変数の名前と値をリストアップする。
::;-f filename
::;-f filename
:::Read key bindings from filename.
:::ファイル名からキーバインディングを読み込む。
::;-q function
::;-q function
:::Query about which keys invoke the named function.
:::どのキーが指定された関数を呼び出すかを問い合わせる。
::;-u function
::;-u function
:::Unbind all keys bound to the named function.
:::指定された関数にバインドされているすべてのキーをアンバインドする。
::;-r keyseq
::;-r keyseq
:::Remove any current binding for keyseq.
:::keyseqの現在のバインディングを削除する。
::;-x keyseq:shell-command
::;-x keyseq:shell-command
:::Cause  shell-command to be executed whenever keyseq is entered.  When shell-command is executed, the shell sets the READLINE_LINE variable to the contents of the read‐line  line buffer and the READLINE_POINT and READLINE_MARK variables to the current location of the insertion point and the saved insertion point (the mark),  respectively.  If  the executed command changes the value of any of READLINE_LINE, READLINE_POINT, or READLINE_MARK, those new values will be reflected  in  the  editing state.
:::keyseqが入力されるたびにシェルコマンドを実行させる。 shell-commandが実行されると、シェルは'''READLINE_LINE'''変数に読み取り行バッファの内容を設定し、'''READLINE_POINT'''変数と'''READLINE_MARK'''変数にそれぞれ現在の挿入位置と保存された挿入位置(マーク)を設定する。 実行されたコマンドが'''READLINE_LINE'''、'''READLINE_POINT'''、'''READLINE_MARK'''のいずれかの値を変更した場合、それらの新しい値は編集状態に反映される。
::;-X
::;-X
:::List  all  key  sequences  bound to shell commands and the associated commands in a format that can be reused as input.
:::シェルコマンドにバインドされているすべてのキーシーケンスと、関連するコマンドを、入力として再利用できる形式でリストアップする。


The return value is 0 unless an unrecognized option is given or an error occurred.
:認識できないオプションが与えられるか、エラーが発生しない限り、戻り値は0である。


;break [n]
;break [n]
:Exit from within a for, while, until, or select loop.  If n is specified, break n  levels. n  must  be  ≥ 1.  If n is greater than the number of enclosing loops, all enclosing loops are exited.  The return value is 0 unless n is not greater than or equal to 1.
:for、while、until、selectループの中で終了する。 nが指定された場合、nレベルブレークする。nは1以上でなければならない。 nがループの数より大きい場合、すべてのループが終了する。 nが1以上でなければ、戻り値は0である。


;<nowiki>builtin shell-builtin [arguments]</nowiki>
;<nowiki>builtin shell-builtin [arguments]</nowiki>
:Execute the specified shell builtin, passing it arguments, and  return  its  exit  status. This is useful when defining a function whose name is the same as a shell builtin, retaining the functionality of the builtin within the function.  The cd builtin is commonly  redefined this way.  The return status is false if shell-builtin is not a shell builtin command.
:指定されたシェル組み込み関数に引数を渡して実行し、その終了ステータスを返す。これは、シェル組み込み関数と同じ名前の関数を定義し、関数内で組み込み関数の機能を保持する場合に便利である。 cd 組み込み関数は一般的にこの方法で再定義される。 shell-builtin がシェル組み込みコマンドでない場合、戻り値は false となる。


;<nowiki>caller [expr]</nowiki>
;<nowiki>caller [expr]</nowiki>
:Returns the context of any active subroutine call (a shell function or a  script  executed with  the . or source builtins).  Without expr, caller displays the line number and source filename of the current subroutine call.  If a non-negative integer is supplied  as  expr, caller  displays  the  line number, subroutine name, and source file corresponding to that position in the current execution call stack.  This extra information may be used, for example,  to  print a stack trace.  The current frame is frame 0.  The return value is 0 unless the shell is not executing a subroutine call or expr does not correspond to  a  valid position in the call stack.
:アクティブなサブルーチン呼び出し(シェル関数、.または source 組み込み関数で実行されるスクリプト)のコンテキストを返す。 expr を指定しないと、呼び出し元は現在のサブルーチン呼び出しの行番号とソースファイル名を表示する。 exprとして負でない整数が指定された場合、呼び出し元は、現在の実行呼び出しスタックのその位置に対応する行番号、サブルーチン名、およびソースファイルを表示する。 この追加情報は、スタックトレースを表示する場合などに使用できる。 シェルがサブルーチン呼び出しを実行していないか、exprがコールスタックの有効な位置に対応していない場合を除き、戻り値は0である。


;<nowiki>cd [-L|[-P [-e]] [-@]] [dir]</nowiki>
;<nowiki>cd [-L|[-P [-e]] [-@]] [dir]</nowiki>
:Change  the current directory to dir.  if dir is not supplied, the value of the HOME shell variable is the default.  Any additional arguments following dir are ignored.  The  variable CDPATH defines the search path for the directory containing dir: each directory name in CDPATH is searched for dir.  Alternative directory names in CDPATH are separated  by  a colon  (:).  A null directory name in CDPATH is the same as the current directory, i.e., ``.''If dir begins with a slash (/), then CDPATH is not used. The -P option causes  cd to  use  the physical directory structure by resolving symbolic links while traversing dir and before processing instances of .. in dir (see also the -P option to  the  set  builtin command);  the  -L option forces symbolic links to be followed by resolving the link after processing instances of .. in dir.  If .. appears in dir, it is processed by removing  the immediately previous pathname component from dir, back to a slash or the beginning of dir. If the -e option is supplied with -P, and the current working directory cannot be successfully  determined after a successful directory change, cd will return an unsuccessful status.  On systems that support it, the -@ option presents the extended  attributes  associated  with a file as a directory.  An argument of - is converted to $OLDPWD before the directory change is attempted.  If a non-empty directory name from CDPATH is used, or  if  - is  the  first  argument, and the directory change is successful, the absolute pathname of the new working directory is written to the standard output.  The return value is true  if the directory was successfully changed; false otherwise.
:dirが与えられない場合、'''HOME'''シェル変数の値が デフォルトとなる。 dirに続く追加の引数は無視される。 変数'''CDPATH'''は、dirを含むディレクトリの検索パスを定義する。 '''CDPATH'''内の代替ディレクトリ名は、コロン(:)で区切られる。 '''CDPATH'''内のディレクトリ名がNULLの場合、カレントディレクトリと同じ、つまり ``.  dirがスラッシュ(/)で始まる場合、'''CDPATH'''は使われない。 -Pオプションをつけると、cdはdirを走査している間、dir中の...のインスタンスを処理する前にシンボリックリンクを解決して物理的なディレクトリ構造を使用するようになる(set組み込みコマンドの-Pオプションも参照のこと)。 .がdirに現れた場合、dirから直前のパス名コンポーネントを削除し、スラッシュまたはdirの先頭に戻して処理される。-Pとともに-eオプションが与えられ、ディレクトリ変更に成功した後にカレント作業ディレクトリを正しく決定できない場合、cdは失敗ステータスを返す。 これをサポートするシステムでは、-@オプションは、ファイルに関連する拡張属性をディレクトリとして表示する。 引数-は、ディレクトリの変更を試みる前に$OLDPWDに変換される。 '''CDPATH'''から空でないディレクトリ名が使用された場合、または - が最初の引数で、ディレクトリ変更が成功した場合、 新しい作業ディレクトリの絶対パス名が標準出力に書き出される。 戻り値は、ディレクトリの変更が成功した場合は真、そうでない場合は偽である。


;<nowiki>command [-pVv] command [arg ...]</nowiki>
;<nowiki>command [-pVv] command [arg ...]</nowiki>
:Run command with args suppressing the normal shell function lookup.  Only builtin commands or commands found in the PATH are executed.  If the -p option is  given,  the  search  for command  is performed using a default value for PATH that is guaranteed to find all of the standard utilities.  If either the -V or -v option is supplied, a description  of  command is printed.  The -v option causes a single word indicating the command or filename used to invoke command to be displayed; the -V option produces a more verbose description.  If the -V  or -v option is supplied, the exit status is 0 if command was found, and 1 if not.  If neither option is supplied and an error occurred or command cannot be found, the exit status  is 127.  Otherwise, the exit status of the command builtin is the exit status of command.
:通常のシェル関数検索を抑制して、argsでコマンドを実行する。 組み込みコマンドまたは '''PATH''' で見つかったコマンドのみが実行される。 -pオプションが与えられると、標準ユーティリティがすべて見つかることが保証されている'''PATH'''のデフォルト値を用いてコマンドの検索が行われる。 -Vまたは-vオプションが与えられると、コマンドの説明が表示される。 -vオプションを指定すると、コマンドを呼び出すために使用されたコマンドまたはファイル名を示す単一の単語が表示される。 -Vまたは-vオプションが指定された場合、コマンドが見つかれば終了ステータスは0になり、見つからなければ1になる。 どちらのオプションも指定されず、エラーが発生したかコマンドが見つからなかった場合、終了ステータスは127となる。 それ以外の場合は、コマンド組み込み関数の終了ステータスが command の終了ステータスになる。


;<nowiki>compgen [option] [word]</nowiki>
;<nowiki>compgen [option] [word]</nowiki>
:Generate possible completion matches for word according to the options, which may  be  any option  accepted  by  the  complete builtin with the exception of -p and -r, and write the matches to the standard output.  When using the -F or -C options, the various shell  variables set by the programmable completion facilities, while available, will not have useful values.
:-pと-rを除く、complete組み込み関数が受け付けるどのオプションでもよい。 -F または -C オプションを使用する場合、プログラム可能な補完機能によって設定されるさまざまなシェル変数は使用可能であるが、有用な値を持たない。


:The matches will be generated in the same way as if the programmable completion  code  had generated  them  directly from a completion specification with the same flags.  If word is specified, only those completions matching word will be displayed.
:マッチは、プログラマブル補完コードが同じフラグを持つ補完指定から直接生成したのと同じ方法で生成される。 wordが指定された場合、wordにマッチする補完のみが表示される。


The return value is true unless an invalid option is supplied, or no matches  were  generated.
:無効なオプションが与えられるか、マッチが生成されない限り、戻り値は真である。


;<nowiki>complete [-abcdefgjksuv] [-o comp-option] [-DEI] [-A action] [-G globpat] [-W wordlist]</nowiki>
;<nowiki>complete [-abcdefgjksuv] [-o comp-option] [-DEI] [-A action] [-G globpat] [-W wordlist]</nowiki>
:;<nowiki>[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] name [name ...]</nowiki>
:;<nowiki>[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] name [name ...]</nowiki>
;<nowiki>complete -pr [-DEI] [name ...]</nowiki>
;<nowiki>complete -pr [-DEI] [name ...]</nowiki>
Specify  how arguments to each name should be completed.  If the -p option is supplied, or if no options are supplied, existing completion specifications are printed in a  way  that allows  them  to be reused as input.  The -r option removes a completion specification for each name, or, if no names are supplied, all completion specifications.  The -D option indicates  that  other  supplied options and actions should apply to the ``default'' command completion; that is, completion attempted on a command for which no completion has  previously  been  defined.  The  -E  option  indicates that other supplied options and actions should apply to ``empty'' command completion; that is, completion attempted  on  a  blank line.  The  -I  option  indicates that other supplied options and actions should apply to completion on the initial non-assignment word on the line, or after  a  command  delimiter such  as  ; or |, which is usually command name completion.  If multiple options are supplied, the -D option takes precedence over -E, and both take precedence over -I.  If  any of -D,  -E,  or  -I are supplied, any other name arguments are ignored; these completions only apply to the case specified by the option.
:各名前に対する引数をどのように補完するかを指定する。 -pオプションが与えられている場合、またはオプションが与えられていない場合、既存の補完指定が入力として再利用できるような形で出力される。 rオプションは、各名前の補完指定を削除し、名前が与えられていない場合は、すべての補完指定を削除する。 -Dオプションは、他のオプションやアクションが``default''コマンドの 補完に適用されることを示す。 -Eオプションは他のオプションやアクションが``empty''コマンド補完に適用されることを示す。 -Iオプションは、他のオプションやアクションが、その行の最初の非割り当ての単語、またはコマンドの区切り文字(;|など)の後の補完に適用されることを示す。 複数のオプションが指定された場合、-Dオプションは-Eよりも優先され、両者は-Iよりも優先される。 -D、-E、-Iのいずれかを指定すると、他の名前引数は無視される。


The process of applying these completion specifications when word completion is  attempted is described above under Programmable Completion.
:これらの補完は、オプションで指定された場合にのみ適用される。単語補完が試みられたときにこれらの補完指定を適用する処理については、上記の「プログラム可能な補完」で説明されている。


Other  options,  if  specified, have the following meanings.  The arguments to the -G, -W, and -X options (and, if necessary, the -P and -S options) should be quoted to protect them from expansion before the complete builtin is invoked.
:その他のオプションが指定されている場合は、以下の意味を持つ。 G、-W、-Xオプションの引数(必要であれば-Pと-Sオプションも) は、組み込み関数が起動する前に展開されないように引用符で囲む。
:;-o comp-option
:;-o comp-option
::The  comp-option  controls  several  aspects of the compspec's behavior beyond the simple generation of completions.  comp-option may be one of:
::comp-optionは、単純な補完の生成だけでなく、compspecの動作のいくつかの側面を制御する:
:::bashdefault  
:::bashdefault  
::::Perform the rest of the default bash completions if the compspec generates no matches.
::::compspecがマッチを生成しなかった場合、残りのデフォルトのbash補完を実行する。
:::default  
:::default  
::::Use  readline's  default  filename completion if the compspec generates no matches.
::::compspecがマッチを生成しない場合、readlineのデフォルトのファイル名補完を使用する。
:::dirnames  
:::dirnames  
::::Perform directory name completion if the compspec generates no matches.
::::compspecがマッチを生成しない場合、ディレクトリ名の補完を行う。
:::filenames
:::filenames
::::Tell readline that the compspec generates filenames, so it can perform any filename-specific  processing  (like  adding  a  slash to directory names, quoting special characters, or suppressing trailing spaces).  Intended  to be used with shell functions.
::::readlineに、compspecがファイル名を生成することを伝え、ファイル名固有の処理(ディレクトリ名にスラッシュを追加したり、特殊文字を引用したり、末尾の空白を抑えたり)を実行できるようにする。 シェル関数と一緒に使うことを意図している。
:::noquote  
:::noquote  
::::Tell  readline  not  to  quote  the  completed words if they are filenames (quoting filenames is the default).
::::readlineに、完了した単語がファイル名の場合は引用しないように指示する(ファイル名を引用するのがデフォルト)。
:::nosort   
:::nosort   
::::Tell readline not to sort the list of possible completions alphabetically.
::::readlineに、補完可能リストをアルファベット順に並べ替えないように指示する。
:::nospace  
:::nospace  
::::Tell readline not to append a space (the default) to  words  completed  at the end of the line.
::::readlineに、行末で完了した単語にスペース(デフォルト)を追加しないように指示する。
:::plusdirs
:::plusdirs
::::After  any  matches  defined by the compspec are generated, directory name completion is attempted and any matches are added to the  results  of  the other actions.
::::compspecで定義されたマッチが生成された後、ディレクトリ名の補完が試みられ、マッチしたものは他のアクションの結果に追加される。
:;-A action
:;-A action
::The action may be one of the following to generate a list of possible completions:
::アクションは以下のいずれかであり、可能性のある完了のリストを生成する:
:::alias   
:::alias   
::::Alias names.  May also be specified as -a.
::::エイリアス名。 -aとして指定することもできる。
:::arrayvar
:::arrayvar
::::Array variable names.
::::配列変数名。
:::binding  
:::binding  
::::Readline key binding names.
::::キーバインディング名を読み込む。
:::builtin  
:::builtin  
::::Names of shell builtin commands.  May also be specified as -b.
::::シェル組み込みコマンドの名前。 -bとしても指定できる。
:::command  
:::command  
::::Command names.  May also be specified as -c.
::::コマンド名。 -cとしても指定できる。
:::directory
:::directory
::::Directory names.  May also be specified as -d.
::::ディレクトリ名。 dとしても指定できる。
:::disabled
:::disabled
::::Names of disabled shell builtins.
::::無効化されたシェルビルトインの名前。
:::enabled  
:::enabled  
::::Names of enabled shell builtins.
::::使用可能なシェルビルトインの名前。
:::export   
:::export   
::::Names of exported shell variables.  May also be specified as -e.
::::エクスポートされるシェル変数の名前。 -e として指定することもできる。
:::file     
:::file     
::::File names.  May also be specified as -f.
::::ファイル名。 -fを指定することもできる。
:::function
:::function
::::Names of shell functions.
::::シェル関数の名前。
:::group   
:::group   
::::Group names.  May also be specified as -g.
::::グループ名。 -gとしても指定できる。
:::helptopic
:::helptopic
::::Help topics as accepted by the help builtin.
::::helpビルトインが受け付けるヘルプトピック。
:::hostname
:::hostname
::::Hostnames,  as  taken  from the file specified by the HOSTFILE shell variable.
::::HOSTFILEシェル変数で指定されたファイルから取られたホスト名。
:::job     
:::job     
::::Job names, if job control is active.  May also be specified as -j.
::::ジョブ制御が有効な場合は、ジョブ名。 -jとしても指定できる。
:::keyword  
:::keyword  
::::Shell reserved words.  May also be specified as -k.
::::シェル予約語。 -kとしても指定できる。
:::running  
:::running  
::::Names of running jobs, if job control is active.
::::ジョブ制御が有効な場合、実行中のジョブの名前。
:::service  
:::service  
::::Service names.  May also be specified as -s.
::::サービス名。 -sとしても指定できる。
:::setopt   
:::setopt   
::::Valid arguments for the -o option to the set builtin.
::::set 組み込み関数に対する -o オプションの有効な引数。
:::shopt   
:::shopt   
::::Shell option names as accepted by the shopt builtin.
::::shopt 組み込み関数が受け付けるシェルオプション名。
:::signal   
:::signal   
::::Signal names.
::::シグナルの名前。
:::stopped  
:::stopped  
::::Names of stopped jobs, if job control is active.
::::ジョブ制御が有効な場合、停止しているジョブの名前。
:::user     
:::user     
::::User names.  May also be specified as -u.
::::ユーザー名。 -uとしても指定できる。
:::variable
:::variable
::::Names of all shell variables.  May also be specified as -v.
::::すべてのシェル変数の名前。 v として指定することもできる。
:;-C command
:;-C command
::command is executed in a subshell environment, and its output is used as the  possible completions.
::コマンドはサブシェル環境で実行され、その出力が可能な補完として使われる。
:;-F function
:;-F function
::The  shell  function  function is executed in the current shell environment.  When the function is executed, the first argument ($1) is the name of the command whose arguments  are  being  completed,  the second argument ($2) is the word being completed, and the third argument ($3) is the word preceding the word being completed on  the  current command line.  When it finishes, the possible completions are retrieved from the value of the COMPREPLY array variable.
::シェル関数関数は、現在のシェル環境で実行される。 この関数が実行されると、第1引数($1)は補完される引数のコマンド名、第2引数($2)は補完される単語、第3引数($3)は現在のコマンド行で補完される単語の前の単語である。 終了すると、COMPREPLY配列変数の値から可能な補完が検索される。
:;-G globpat
:;-G globpat
::The pathname expansion pattern globpat is expanded to generate the  possible  completions.
::パス名展開パターンglobpatが展開され、可能な補完が生成される。
:;-P prefix
:;-P prefix
::prefix  is  added at the beginning of each possible completion after all other options have been applied.
::接頭辞は、他のすべてのオプションが適用された後、各完了候補の先頭に追加される。
:;-S suffix
:;-S suffix
::suffix is appended to each possible completion after all other options  have  been applied.
::サフィックスは、他のすべてのオプションが適用された後、各完了可能なものに付加される。
:;-W wordlist
:;-W wordlist
::The wordlist  is split using the characters in the IFS special variable as delimiters, and each resultant word is  expanded.  Shell  quoting  is  honored  within wordlist, in order to provide a mechanism for the words to contain shell metacharacters or characters in the value of IFS.  The possible completions are  the  members of the resultant list which match the word being completed.
::ワードリストは特殊変数IFSの文字を区切り文字として分割され、各単語が展開される。 単語の中にシェルのメタ文字やIFSの値に含まれる文字があってもよいように、単語リスト内ではシェル引用符で囲む。 可能な補完は、補完される単語にマッチする結果リストのメンバーである。
:;-X filterpat
:;-X filterpat
::filterpat is a pattern as used for pathname expansion.  It is applied to the list of possible completions generated by the preceding options and arguments, and each completion  matching filterpat is removed from the list.  A leading ! in filterpat negates the pattern; in this case, any completion not matching  filterpat is  removed.
::filterpatはパス名展開に使われるパターンである。 これは、直前のオプションと引数で生成された補完候補のリストに適用され、 filterpatにマッチする補完がリストから取り除かれる。 filterpat の先頭の ! はパターンを否定する。この場合、 filterpat にマッチしない補完はすべて取り除かれる。


:The  return value is true unless an invalid option is supplied, an option other than -p or -r is supplied without a name argument, an attempt is made to remove a completion specification  for  a name for which no specification exists, or an error occurs adding a completion specification.
:無効なオプションが指定された場合、-pまたは-r以外のオプションが name引数なしで指定された場合、指定が存在しない名前の補完指定を削除しようとした場合、または補完指定の追加エラーが発生した場合を除き、戻り値は真である。


;<nowiki>compopt [-o option] [-DEI] [+o option] [name]</nowiki>
;<nowiki>compopt [-o option] [-DEI] [+o option] [name]</nowiki>
:Modify completion options for each name according to the options, or for the currently-executing completion if no names are supplied.  If no options are given, display the completion options for each name or the current completion.  The possible values of  option  are those  valid for the complete builtin described above.  The -D option indicates that other supplied options should apply to the ``default'' command completion; that  is,  completion attempted on a command for which no completion has previously been defined.  The -E option indicates that other supplied options should apply to ``empty'' command  completion;  that is, completion attempted on a blank line.  The -I option indicates that other supplied options should apply to completion on the initial non-assignment word on the line, or  after a command delimiter such as ; or |, which is usually command name completion.
:オプションにしたがって各名称の補完オプションを変更するか、名前が与えられていない場合は現在実行中の補完オプションを変更する。 オプションが与えられない場合は、各名前または現在実行中の補完の補完オプションを表示する。 optionに指定できる値は、前述の完全組み込み関数で有効な値である。 Dオプションは、他のオプションが ``デフォルト'' コマンド補完に適用されることを示す。 Eオプションは、他のオプションが``empty''コマンド補完に適用される ことを示す。 Iオプションは、他のオプションが、その行の最初の非割り当ての単語、またはコマンドの区切り文字である;|の後の補完に適用されることを示す。


:The  return value is true unless an invalid option is supplied, an attempt is made to modify the options for a name for which no completion specification exists, or an output  error occurs.
:無効なオプションが与えられるか、補完指定が存在しない名前のオプションを変更しようとするか、出力エラーが発生しない限り、戻り値は真である。


;<nowiki>continue [n]</nowiki>
;<nowiki>continue [n]</nowiki>
:Resume  the  next  iteration  of the enclosing for, while, until, or select loop.  If n is specified, resume at the nth enclosing loop.  n must be ≥ 1.  If n  is  greater  than  the number  of  enclosing  loops, the last enclosing loop (the ``top-level'' loop) is resumed. The return value is 0 unless n is not greater than or equal to 1.
:for、while、until、またはselectループの次の反復を再開する。 nが指定された場合、n番目のループで再開する。 nがループの数より大きい場合、最後のループ(``トップレベル''ループ)が再開される。nが1以上でなければ、戻り値は0である。


;<nowiki>declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]</nowiki>
;<nowiki>declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]</nowiki>
;<nowiki>typeset [-aAfFgiIlnrtux] [-p] [name[=value] ...]</nowiki>
;<nowiki>typeset [-aAfFgiIlnrtux] [-p] [name[=value] ...]</nowiki>
Declare variables and/or give them attributes.  If no names are  given  then  display  the values  of  variables.  The -p option will display the attributes and values of each name. When -p is used with name arguments, additional options, other than -f  and  -F,  are  ignored.  When -p is  supplied without name arguments, it will display the attributes and values of all variables having the attributes specified by the additional options.  If  no other  options are supplied with -p, declare will display the attributes and values of all shell variables.  The -f option will restrict the display to shell functions.  The -F option  inhibits  the display of function definitions; only the function name and attributes are printed.  If the extdebug shell option is enabled using shopt, the  source  file  name and  line  number where each name is defined are displayed as well.  The -F option implies -f.  The -g option forces variables to be created or modified at the  global  scope,  even when  declare  is executed in a shell function.  It is ignored in all other cases.  The -I option causes local variables to inherit the attributes (except the nameref attribute) and value  of any existing variable with the same name at a surrounding scope.  If there is no existing variable, the local variable is initially unset.  The following  options  can  be used to restrict output to variables with the specified attribute or to give variables attributes:
:変数を宣言したり、属性を与えたりする。 名前が与えられていない場合は、変数の値を表示する。 -pオプションは、それぞれの名前の属性と値を表示する。-pが名前引数とともに使われた場合、-fと-F以外の追加オプションは無視される。 名前引数なしで -p を指定すると、追加オプションで指定された属性を持つすべての変数の属性と値が表示される。 他のオプションが -p とともに与えられない場合、 declare はすべてのシェル変数の属性と値を表示する。 -f オプションは、表示をシェル関数に限定する。 -F オプションは関数定義の表示を禁止し、関数名と属性のみが表示される。 shoptを使用してextdebugシェル・オプションを有効にすると、各名称が定義されているソース・ファイル名と行番号も表示される。 -F オプションは -f を意味する。 gオプションは、declareがシェル関数の中で実行された場合でも、変数をグローバル・スコープで作成または変更することを強制する。 それ以外の場合は無視される。 -Iオプションは、ローカル変数の属性(nameref属性を除く)と値を、周囲のスコープに存在する同名の変数に継承させる。 既存の変数がない場合、ローカル変数は初期状態で設定されない。 以下のオプションを使うと、指定した属性を持つ変数に出力を制限したり、変数に属性を与えたりすることができる:
:;-a     
:;-a     
:::Each name is an indexed array variable (see Arrays above).
:::各名称はインデックス付き配列変数である(上記の「[[#Arrays|Arrays ]]」を参照)。
:;-A
:;-A
::Each name is an associative array variable (see Arrays above).
::それぞれの名前は連想配列変数である(上記の「[[#Arrays|Arrays ]]」を参照)。
:;-f
:;-f
::Use function names only.
::関数名のみを使用する。
:;-i
:;-i
::The variable is treated as an integer; arithmetic evaluation (see ARITHMETIC EVALUATION above) is performed when the variable is assigned a value.
::変数は整数として扱われ、変数に値が代入されると算術評価(上記のARITHMETIC EVALUATIONを参照)が行われる。
:;-l
:;-l
::When  the  variable is assigned a value, all upper-case characters are converted to lower-case.  The upper-case attribute is disabled.
::変数に値が代入されると、大文字はすべて小文字に変換される。 大文字属性は無効になる。
:;-n
:;-n
::Give each name the nameref attribute, making it a name reference to  another  variable.  That  other  variable is defined by the value of name. All references, assignments, and attribute modifications to name, except those using or changing  the -n attribute itself, are performed on the variable referenced by name's value.  The nameref attribute cannot be applied to array variables.
::それぞれのnameにnameref属性を与え、別の変数への名前参照とする。 その別の変数は name の値によって定義される。 nameに対するすべての参照、代入、属性の変更は、-n属性そのものを使用または変更するものを除き、nameの値によって参照される変数に対して実行される。 nameref属性は配列変数には適用できない。
:;-r
:;-r
::Make names readonly.  These names cannot then be assigned values by subsequent  assignment statements or unset.
::名前を読み取り専用にする。 これらの名前は、その後の代入文やアンセットによって値を代入することはできない。
:;-t
:;-t
::Give  each name the trace attribute.  Traced functions inherit the DEBUG and RETURN traps from the calling shell.  The trace attribute has no special meaning for variables.
::それぞれの名前に trace 属性を与える。 トレースされた関数は、呼び出し元のシェルから DEBUG RETURN トラップを継承する。 trace 属性は変数に対して特別な意味を持たない。
:;-u
:;-u
::When  the  variable is assigned a value, all lower-case characters are converted to upper-case.  The lower-case attribute is disabled.
::変数に値が代入されると、小文字はすべて大文字に変換される。 小文字属性は無効になる。
:;-x
:;-x
::Mark names for export to subsequent commands via the environment.
::環境を通して後続のコマンドにエクスポートする名前をマークする。


:Using `+' instead of `-' turns off the attribute instead, with the exceptions that +a  and +A  may  not be used to destroy array variables and +r will not remove the readonly attribute.  When used in a function, declare and typeset make each name local, as with the  local  command, unless the -g option is supplied.  If a variable name is followed by =value, the value of the variable is set to value.  When using -a or -A and the  compound  assignment syntax to create array variables, additional attributes do not take effect until subsequent assignments.  The return value is 0 unless an invalid option  is  encountered,  an attempt  is made to define a function using ``-f foo=bar'', an attempt is made to assign a value to a readonly variable, an attempt is made to assign a value to  an  array  variable without using the compound assignment syntax (see Arrays above), one of the names is not a valid shell variable name, an attempt is made to turn off readonly status for  a  readonly variable, an attempt is made to turn off array status for an array variable, or an attempt is made to display a non-existent function with -f.
:ただし、+aや+Aは配列変数を破棄するのに使ってはならず、+rはreadonly属性を削除しない。 関数内で使用する場合、-gオプションが与えられていない限り、declareとtypesetはlocalコマンドと同様に各変数名をローカルにする。 変数名の後に=valueが続くと、その変数の値がvalueに設定される。 -a または -A と複合代入構文を使用して配列変数を作成する場合、追加の属性はそれ以降の代入まで有効にならない。 無効なオプションに出会った場合、``-f foo=bar''を使って関数を定義しようとした場合、 読み取り専用変数に値を代入しようとした場合、複合代入構文を使わずに配列変数に 値を代入しようとした場合(上記の配列を参照)を除いて、戻り値は0である、 名前のいずれかが有効なシェル変数名でない、読み取り専用変数の読み取りステータスをオフにしようとした、配列変数の配列ステータスをオフにしようとした、存在しない関数を -f で表示しようとした。


;<nowiki>dirs [-clpv] [+n] [-n]</nowiki>
;<nowiki>dirs [-clpv] [+n] [-n]</nowiki>
:Without options, displays the list of currently remembered directories.  The default  display  is on a single line with directory names separated by spaces.  Directories are added to the list with the pushd command; the popd command removes entries from the list.  The current directory is always the first directory in the stack.
:オプションなしで、現在記憶しているディレクトリのリストを表示する。 デフォルトでは、ディレクトリ名をスペースで区切って1行で表示する。 ディレクトリは pushd コマンドでリストに追加され、 popd コマンドはリストからエントリを削除する。 カレント・ディレクトリは常にスタックの最初のディレクトリである。
:;-c
:;-c
::Clears the directory stack by deleting all of the entries.
::すべてのエントリを削除してディレクトリスタックをクリアする。
:;-l
:;-l
::Produces a listing using full pathnames; the default listing format uses a tilde to denote the home directory.
::デフォルトのリスト形式では、ホームディレクトリを示すためにチルダを使用する。
:;-p
:;-p
::Print the directory stack with one entry per line.
::ディレクトリスタックを1行1エントリで表示する。
:;-v
:;-v
::Print the directory stack with one entry per line, prefixing each  entry  with  its index in the stack.
::各エントリの先頭にスタック内のインデックスを付けて、1行に1エントリずつディレクトリスタックを表示する。
:;+n
:;+n
::Displays  the  nth  entry counting from the left of the list shown by dirs when invoked without options, starting with zero.
::オプションなしで起動した場合、dirsが表示するリストの左から数えてn番目のエントリーを、ゼロから順に表示する。
:;-n
:;-n
::Displays the nth entry counting from the right of the list shown by dirs  when  invoked without options, starting with zero.
::オプションなしで起動した場合、dirsが表示するリストの右から数えてn番目のエントリーを、ゼロから順に表示する。


:The  return value is 0 unless an invalid option is supplied or n indexes beyond the end of the directory stack.
:無効なオプションが与えられるか、n個のインデックスがディレクトリスタッ クの末尾を超えない限り、戻り値は0である。


;<nowiki>disown [-ar] [-h] [jobspec ... | pid ... ]</nowiki>
;<nowiki>disown [-ar] [-h] [jobspec ... | pid ... ]</nowiki>
:Without options, remove each jobspec from the table of active jobs.  If jobspec is  not present,  and  neither  the -a nor the -r option is supplied, the current job is used.  If the -h option is given, each jobspec is not removed from the table, but is marked so  that SIGHUP is not sent to the job if the shell receives a SIGHUP.  If no jobspec is supplied, the -a option means to remove or mark all jobs; the -r option without a jobspec argument restricts  operation  to  running  jobs.  The return value is 0 unless a jobspec does not specify a valid job.
:オプションを指定しない場合、アクティブなジョブのテーブルから各 jobspec を削除する。 jobspec が存在せず、-a オプションも -r オプションも与えられない場合、 現在のジョブが使用される。 h オプションが指定された場合、各 jobspec はテーブルから削除されないが、 シェルが SIGHUP を受信してもそのジョブに SIGHUP が送られないようにマークされる。 jobspec が与えられない場合、-a オプションはすべてのジョブを削除またはマークすることを意味する。jobspec 引数なしの -r オプションは、実行中のジョブに操作を制限する。 jobspec が有効なジョブを指定しない限り、戻り値は 0 である。


;<nowiki>echo [-neE] [arg ...]</nowiki>
;<nowiki>echo [-neE] [arg ...]</nowiki>
:Output the args, separated by spaces, followed by a newline. The return status is  0  unless  a  write  error occurs.  If -n is specified, the trailing newline is suppressed.  If the -e option is given, interpretation of the following  backslash-escaped  characters  is enabled.  The  -E  option disables the interpretation of these escape characters, even on systems where they are interpreted by default.  The xpg_echo shell option may be  used  to dynamically  determine  whether  or  not  echo expands these escape characters by default. echo does not interpret -- to mean the end of options.  echo interprets the following  escape sequences:
:空白で区切られた引数を出力し、その後に改行する。 書き込みエラーが発生しない限り、リターン・ステータスは0である。 nを指定すると、末尾の改行が抑制される。 eオプションを指定すると、以下のバックスラッシュ・エスケープ文字の解釈が有効になる。 Eオプションを指定すると、これらのエスケープ文字がデフォルトで解釈されるシステムでも、その解釈を無効にする。 xpg_echo シェルオプションを使用すると、echo がデフォルトでこれらのエスケープ文字を展開するかどうかを動的に決定することができる。 echo -- をオプションの終わりと解釈しない:
:;\a
:;\a
::alert (bell)
::アラート (ベル)
:;\b
:;\b
::backspace
::バックスペース
:;\c
:;\c
::suppress further output
::それ以上の出力を抑制する
:;\e
:;\e
:;\E
:;\E
::an escape character
::エスケープキャラクター
:;\f
:;\f
::form feed
::フォームフィード
:;\n
:;\n
::new line
::改行
:;\r
:;\r
::carriage return
::キャリッジリターン
:;\t
:;\t
::horizontal tab
::水平タブ
:;\v
:;\v
::vertical tab
::垂直タブ
:;\\
:;\\
::backslash
::バックスラッシュ
:;\0nnn
:;\0nnn
::the  eight-bit  character  whose  value is the octal value nnn (zero to three octal digits)
::値が8進数値nnn(0~3桁の8進数)である8ビット文字
:;\xHH
:;\xHH
::the eight-bit character whose value is the hexadecimal value HH  (one  or  two  hex digits)
::値が16進数HH(1桁または2桁の16進数)である8ビット文字
:;\uHHHH
:;\uHHHH
::the  Unicode  (ISO/IEC 10646) character whose value is the hexadecimal value HHHH (one to four hex digits)
::ユニコード(ISO/IEC 10646)文字で、その値は16進数値HHHH(1桁から4桁の16進数)である。
:;\UHHHHHHHH
:;\UHHHHHHHH
::the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value HHHHHHHH (one to eight hex digits)
::ユニコード(ISO/IEC 10646)文字で、その値が16進数のHHHHHHHHH(1~8桁の16進数)である。


;<nowiki>enable [-a] [-dnps] [-f filename] [name ...]</nowiki>
;<nowiki>enable [-a] [-dnps] [-f filename] [name ...]</nowiki>
:Enable  and  disable  builtin  shell  commands.  Disabling a builtin allows a disk command which has the same name as a shell builtin to be executed without specifying a full  pathname, even though the shell normally searches for builtins before disk commands.  If -n is used, each name is disabled; otherwise, names are enabled.  For example, to use  the  test binary  found  via  the PATH instead of the shell builtin version, run ``enable -n test''. The -f option means to load the new builtin command name from shared object  filename,  on systems  that  support  dynamic loading.  The -d option will delete a builtin previously loaded with -f.  If no name arguments are given, or if the -p option is supplied,  a  list of  shell  builtins  is printed.  With no other option arguments, the list consists of all enabled shell builtins.  If -n is supplied, only disabled builtins are printed.  If -a is supplied,  the  list  printed  includes all builtins, with an indication of whether or not each is enabled.  If -s is supplied,  the  output  is  restricted  to  the  POSIX special builtins.  The return value is 0 unless a name is not a shell builtin or there is an error loading a new builtin from a shared object.
:シェル組み込みコマンドを有効/無効にする。 組み込みコマンドを無効にすると、シェルは通常ディスクコマンドの前に組み込みコマンドを検索するにもかかわらず、シェル組み込みコマンドと同じ名前のディスクコマンドをフルパス名を指定せずに実行できるようになる。 n を使用すると、各名称は無効になり、それ以外の場合は有効になる。 例えば、シェルのビルトインバージョンの代わりに PATH 経由で見つかった test バイナリを使うには、``enable -n test'' を実行する。fオプションは、動的ロードをサポートしているシステムでは、共有オブジェクトファイル名から新しい組み込みコマンド名をロードすることを意味する。 dオプションは-fでロードした組み込みコマンドを削除する。 name 引数が与えられないか、または -p オプションが与えられると、 シェル組み込みコマンドのリストが表示される。 他のオプション引数を指定しない場合、リストは有効なシェル組み込み関数すべてから構成される。 n を指定すると、無効な組み込み関数だけが表示される。 a を指定すると、すべての組み込み関数が出力され、それぞれが有効かどうかも表示される。 s を指定すると、出力は POSIX 特殊組み込み関数に制限される。 戻り値は、名前がシェル組み込み関数でないか、共有オブジェクトからの新規組み込み関数のロードにエラーがない限り 0 である。


;<nowiki>eval [arg ...]</nowiki>
;<nowiki>eval [arg ...]</nowiki>
The args are read and concatenated together into a single command.  This command  is  then read  and executed by the shell, and its exit status is returned as the value of eval.  If there are no args, or only null arguments, eval returns 0.
:引数が読み込まれ、1つのコマンドに連結される。 このコマンドはシェルによって読み込まれ実行され、その終了ステータスがevalの値として返される。 引数がない場合、あるいはnullの引数しかない場合、evalは0を返す。


;exec [-cl] [-a name] [command [arguments]]
;exec [-cl] [-a name] [command [arguments]]
:If command is specified, it replaces the shell.  No new process is created.  The arguments become the arguments to command.  If the -l option is supplied, the shell places a dash at the beginning of the zeroth argument passed to command.  This is what login(1) does.  The -c option causes command to be executed with an empty environment.  If -a is supplied, the shell passes name as the zeroth argument to the executed command.  If  command  cannot  be executed  for some reason, a non-interactive shell exits, unless the execfail shell option is enabled.  In that case, it returns failure.  An interactive shell  returns  failure  if the  file cannot be executed.  A subshell exits unconditionally if exec fails.  If command is not specified, any redirections take effect in the current shell, and the return status is 0.  If there is a redirection error, the return status is 1.
:commandが指定された場合、シェルを置き換える。 新しいプロセスは作られない。 引数は command の引数になる。 l オプションが与えられた場合、シェルは command に渡された引数の 0 番目の先頭にダッシュを置く。 これは login(1) が行うことである。  c オプションを指定すると、コマンドは空の環境で実行される。 a が与えられると、シェルは実行されるコマンドの 0 番目の引数として name を渡す。 何らかの理由でコマンドが実行できなかった場合、execfail シェルオプションが有効になっていない限り、非対話型シェルは終了する。 その場合は失敗を返す。 ファイルを実行できない場合、対話型シェルは失敗を返す。 サブシェルは、execが失敗すると無条件に終了する。 commandが指定されていない場合、リダイレクトは現在のシェルで有効になり、リターン・ステータスは0になる。リダイレクト・エラーがある場合、リターン・ステータスは1になる。


;exit [n]
;exit [n]
:Cause  the  shell to exit with a status of n.  If n is omitted, the exit status is that of the last command executed.  A trap on EXIT is executed before the shell terminates.
:nが省略された場合、終了ステータスは最後に実行されたコマンドのステータスとなる。 EXIT のトラップは、シェルが終了する前に実行される。


;<nowiki>export [-fn] [name[=word]] ...</nowiki>
;<nowiki>export [-fn] [name[=word]] ...</nowiki>
;export -p
;export -p
:The supplied names are marked for automatic export to the environment of subsequently executed commands.  If the -f option is given, the names refer to functions.  If no names are given, or if the -p option is supplied, a list of  names  of  all  exported  variables  is printed.  The -n option  causes the export property to be removed from each name.  If a variable name is followed by =word, the value of the variable is set to word.  export  returns an exit status of 0 unless an invalid option is encountered, one of the names is not a valid shell variable name, or -f is supplied with a name that is not a function.
:指定された名前は、その後に実行されるコマンドの環境に自動的にエクスポートされるようにマークされる。 -fオプションが指定された場合、名前は関数を参照する。 名前が指定されない場合、または -p オプションが指定された場合は、エクスポートされたすべての変数名のリストが表示される。 -n オプションを指定すると、各名称からエクスポート・プロパティが削除される。 変数名の後に=wordが続くと、その変数の値がwordに設定される。exportは、無効なオプションに遭遇するか、名前の1つが有効なシェル変数名でないか、-fに関数でない名前が指定されない限り、終了ステータス0を返す。


;<nowiki>fc [-e ename] [-lnr] [first] [last]</nowiki>
;<nowiki>fc [-e ename] [-lnr] [first] [last]</nowiki>
;<nowiki>fc -s [pat=rep] [cmd]</nowiki>
;<nowiki>fc -s [pat=rep] [cmd]</nowiki>
:The first form selects a range of commands from first to last from the  history  list  and displays  or  edits and re-executes them.  First and last may be specified as a string (to locate the last command beginning with that string) or as a number (an index into the history  list, where a negative number is used as an offset from the current command number). When listing, a first or last of 0 is equivalent to -1 and -0 is equivalent to the current command  (usually  the fc command); otherwise 0 is equivalent to -1 and -0 is invalid.  If last is not specified, it is set to the current command for listing (so that ``fc -l -10'' prints the last 10 commands) and to first otherwise.  If first is not specified, it is set to the previous command for editing and -16 for listing.
:最初の形式は、履歴リストから最初のコマンドから最後のコマンドまでの範囲を選択し、それらを表示または編集して再実行する。 firstとlastは、文字列(その文字列で始まる最後のコマンドを探す)または数値(履歴リストへのインデックス、負の数は現在のコマンド番号からのオフセットとして使われる)で指定することができる。リストを表示する場合、firstまたはlastに0を指定すると-1となり、-0を指定すると現在のコマンド(通常はfcコマンド)となる。 もしlastが指定されなければ、リストアップのために現在のコマンドに設定され (``fc -l -10'' は最後の10個のコマンドを表示する)、そうでなければfirstに設定される。 もしfirstが指定されなければ、編集の場合は前のコマンドに、リストアップの場合は-16に設定される。


:The -n option suppresses the command numbers when listing.  The -r option reverses the order  of the commands.  If the -l option is given, the commands are listed on standard output.  Otherwise, the editor given by ename is invoked on a file containing those commands. If  ename  is not given, the value of the FCEDIT variable is used, and the value of EDITOR if FCEDIT is not set.  If neither variable is set, vi is used.  When editing is  complete, the edited commands are echoed and executed.
:-nオプションは、一覧表示時にコマンド番号を表示しない。 -rオプションはコマンドの順序を逆にする。 -lオプションを指定すると、コマンドは標準出力にリストされる。 それ以外の場合、enameで指定されたエディタが、それらのコマンドを含む ファイルに対して起動される。enameが与えられていない場合、変数FCEDITの値が使われ、 FCEDITが設定されていない場合、EDITORの値が使われる。 どちらの変数も設定されていなければ、viが使われる。 編集が完了すると、編集されたコマンドがエコーされて実行される。


:In  the second form, command is re-executed after each instance of pat is replaced by rep. Command is interpreted the same as first above.  A  useful  alias  to  use  with  this  is ``r="fc -s"'',  so  that  typing ``r cc'' runs the last command beginning with ``cc'' and typing ``r'' re-executes the last command.
:第二の形式では、patの各インスタンスがrepに置き換えられた後、コマンドが再実行される。コマンドは上記の最初のものと同じように解釈される。 r="fc-s"」と入力すると、「cc」で始まる最後のコマンドが実行され、「r」と入力すると最後のコマンドが再実行される。


:If the first form is used, the return value is 0 unless an invalid option  is  encountered or  first  or  last specify history lines out of range.  If the -e option is supplied, the return value is the value of the last command executed or failure if an error occurs  with the  temporary file of commands.  If the second form is used, the return status is that of the command re-executed, unless cmd does not specify a valid history line, in  which  case fc returns failure.
:最初の形式を使用した場合、無効なオプションに遭遇するか、最初または最後の指定行が範囲外でない限り、戻り値は0である。 eオプションが与えられた場合、戻り値は最後に実行されたコマンドの値か、コマンドの一時ファイルでエラーが発生した場合は失敗となる。 2番目の形式が使われた場合、cmdが有効なヒストリ行を指定しない限り、戻り値は再実行されたコマンドのステータスとなり、その場合fcは失敗を返す。


;fg [jobspec]
;fg [jobspec]
:Resume jobspec in the foreground, and make it the current job.  If jobspec is not present, the shell's notion of the current job is used.  The return value is that  of  the  command placed  into  the  foreground, or failure if run when job control is disabled or, when run with job control enabled, if jobspec does not specify a valid job or jobspec  specifies  a job that was started without job control.
:jobspec をフォアグラウンドで再開し、現在のジョブにする。 jobspec が存在しない場合、シェルの現在のジョブの概念が使用される。 戻り値は、フォアグラウンドに配置されたコマンドの値であり、ジョブ制御が無効なときに実行された場合は失敗となる。ジョブ制御が有効なときに実行された場合は、jobspecが有効なジョブを指定していないか、ジョブ制御なしで開始されたジョブを指定している。


;getopts optstring name [arg ...]
;getopts optstring name [arg ...]
:getopts  is  used  by shell procedures to parse positional parameters.  optstring contains the option characters to be recognized; if a character is followed by a colon, the  option is  expected  to  have an argument, which should be separated from it by white space.  The colon and question mark characters may not be used as option characters.  Each time it  is invoked,  getopts  places the next option in the shell variable name, initializing name if it does not exist, and the index of the next argument to be processed  into  the  variable OPTIND.  OPTIND  is  initialized  to  1 each time the shell or a shell script is invoked. When an option requires an argument, getopts places that argument into  the  variable OPTARG.  The shell  does not reset OPTIND automatically; it must be manually reset between multiple calls to getopts within the same shell invocation if a new set of  parameters  is to be used.
:optstringには、認識すべきオプション文字が含まれる。ある文字の後にコロンが続く場合、そのオプションは引数を持つことが期待され、その引数は空白で区切らなければならない。 コロンとクエスチョンマークはオプション文字としては使えない。 getoptsは起動されるたびに、次のオプションをシェル変数nameに入れ、nameが存在しない場合は初期化し、次に処理される引数のインデックスを変数OPTINDに入れる。 OPTINDは、シェルまたはシェルスクリプトが起動されるたびに1に初期化される。オプションが引数を必要とする場合、getopts はその引数を変数 OPTARG に入れる。 シェルは OPTIND を自動的にリセットしないので、新しいパラメータセットを使用する場合は、同じシェル呼び出し内で getopts を複数回呼び出す間に手動でリセットする必要がある。


:When  the  end  of  options is encountered, getopts exits with a return value greater than zero.  OPTIND is set to the index of the first non-option argument, and name is set to ?.
:オプションの終了に遭遇すると、getoptsは0より大きい戻り値で終了する。 OPTINDには、最初の非オプション引数のインデックスが設定され、 nameには?をセットする。


:getopts normally parses the positional parameters, but if more arguments are  supplied  as arg values, getopts parses those instead.
:getoptsは通常、位置パラメータを解析するが、arg値としてさらに引数が与えられると、getoptsはそれらを代わりに解析する。


:getopts  can  report  errors in two ways.  If the first character of optstring is a colon, silent error reporting is used.  In normal operation, diagnostic messages are printed when invalid  options  or  missing option arguments are encountered.  If the variable OPTERR is set to 0, no error messages will be displayed, even if the first character of optstring is not a colon.
:getoptsは2つの方法でエラーを報告することができる。 optstringの最初の文字がコロンの場合、サイレントエラー報告が使用される。 通常の操作では、無効なオプションやオプション引数の欠落に遭遇すると、診断メッセージが表示される。 変数 OPTERR 0 に設定すると、optstring の最初の文字がコロンでなくても、エラーメッセージは表示されない。


:If an invalid option is seen, getopts places ? into name and, if not silent, prints an error message and unsets OPTARG.  If getopts is silent, the option character found is placed in OPTARG and no diagnostic message is printed.
:無効なオプションが見つかった場合、getopts は name に ? を入れ、無音でなければエラーメッセージを表示して OPTARG の設定を解除する。 getopts が沈黙している場合、見つかったオプション文字は OPTARG に置かれ、診断メッセージは出力されない。


:If  a  required  argument  is not found, and getopts is not silent, a question mark (?) is placed in name, OPTARG is unset, and a diagnostic  message  is  printed.   If  getopts  is silent,  then  a  colon  (:) is  placed in name and OPTARG is set to the option character found.
:必須引数が見つからず、getoptsがサイレントでない場合、nameにクエスチョンマーク(?  getoptsが無音の場合、nameにコロン(:)が置かれ、OPTARGには見つかったオプション文字が設定される。


:getopts returns true if an option, specified or unspecified, is found.  It  returns  false if the end of options is encountered or an error occurs.
:getoptsは、指定または未指定のオプションが見つかれば真を返す。 オプションの末尾にぶつかったり、エラーが発生した場合は偽を返す。


;<nowiki>hash [-lr] [-p filename] [-dt] [name]</nowiki>
;<nowiki>hash [-lr] [-p filename] [-dt] [name]</nowiki>
:Each  time hash is invoked, the full pathname of the command name is determined by searching the directories in $PATH and remembered.  Any previously-remembered pathname  is  discarded.  If the -p option is supplied, no path search is performed, and filename is used as the full filename of the command.  The -r option causes the shell to forget all  remembered locations.  The -d option causes the shell to forget the remembered location of each name.  If the -t option is supplied, the full pathname to which each name corresponds  is printed.  If multiple name arguments are supplied with -t, the name is printed before the hashed full pathname.  The -l option causes output to be displayed in a format that may be reused  as input.  If no arguments are given, or if only -l is supplied, information about remembered commands is printed.  The return status is true unless a name is not  found  or an invalid option is supplied.
:hashが起動されるたびに、コマンド名のフルパス名が$PATH内のディレクトリを検索して決定され、記憶される。 以前に記憶されたパス名は破棄される。 -pオプションが与えられると、パス検索は行われず、 filenameがコマンドの完全なファイル名として使われる。 -rオプションを付けると、シェルは記憶していた場所をすべて忘れる。 -dオプションを指定すると、シェルは各名称の記憶された場所を忘れる。 -t オプションを指定すると、各名前が対応する完全なパス名が表示される。 複数の name 引数が -t とともに与えられた場合、 name はハッシュされたフルパス名の前に出力される。 -lオプションを指定すると、入力として再利用できる形式で出力が表示される。 引数が与えられないか、-lだけが与えられると、記憶されたコマンドに関する情報が表示される。 名前が見つからないか、無効なオプションが与えられない限り、戻り値は真である。


;<nowiki>help [-dms] [pattern]</nowiki>
;<nowiki>help [-dms] [pattern]</nowiki>
:Display  helpful  information about builtin commands.  If pattern is specified, help gives detailed help on all commands matching pattern; otherwise help for all  the  builtins  and shell control structures is printed.
:組み込みコマンドに関する有用な情報を表示する。 pattern が指定されていれば、help は pattern にマッチするすべてのコマンドに関する詳細なヘルプを表示する。そうでなければ、すべての組み込みコマンドとシェル制御構造に関するヘルプを表示する。
:;-d
:;-d
::Display a short description of each pattern
::各パターンの簡単な説明を表示する
:;-m
:;-m
::Display the description of each pattern in a manpage-like format
::各パターンの説明をマンページのような形式で表示する
:;-s
:;-s
::Display only a short usage synopsis for each pattern
::各パターンについて、短い使用法の概要のみを表示する


:The return status is 0 unless no command matches pattern.
:パターンにマッチするコマンドがなければ、リターンステータスは0である。


;<nowiki>history [n]</nowiki>
;<nowiki>history [n]</nowiki>
Line 2,237: Line 2,237:
;<nowiki>history -p arg [arg ...]</nowiki>
;<nowiki>history -p arg [arg ...]</nowiki>
;<nowiki>history -s arg [arg ...]</nowiki>
;<nowiki>history -s arg [arg ...]</nowiki>
:With  no options, display the command history list with line numbers. Lines listed with a * have been modified. An argument of n lists only the last n lines. If the  shell  variable  HISTTIMEFORMAT is set and not null, it is used as a format string for strftime(3) to display the time stamp associated with each displayed history entry.  No intervening blank is  printed  between  the  formatted time stamp and the history line.  If filename is supplied, it is used as the name of the history file; if not, the value of HISTFILE is  used. Options, if supplied, have the following meanings:
:オプションなしで、コマンド履歴リストを行番号付きで表示する。 の付いた行は変更されている。 引数 n は、最後の n 行だけをリストする。 シェル変数 '''HISTTIMEFORMAT''' が NULL ではなく設定されている場合、 [https://manpages.debian.org/unstable/manpages-dev/strftime.3.en.html strftime](3) のフォーマット文字列として使用され、 表示された各履歴エントリに関連付けられたタイムスタンプが表示される。 フォーマットされたタイムスタンプと履歴行の間には、空白は表示されない。 filename が指定された場合、それが履歴ファイル名として使用される。オプションが与えられた場合、以下の意味を持つ:
:;-c
:;-c
::Clear the history list by deleting all the entries.
::すべてのエントリーを削除して履歴リストを消去する。
:;-d offset
:;-d offset
::Delete  the  history entry at position offset.  If offset is negative, it is interpreted as relative to one greater than the last history position, so  negative  indices count back from the end of the history, and an index of -1 refers to the current history -d command.
::位置 offset のヒストリエントリを削除する。 offsetが負の場合、最後のヒストリ位置より1つ大きい位置からの相対値として解釈されるため、負のインデックスはヒストリの終わりからさかのぼってカウントされ、-1のインデックスは現在のヒストリ-dコマンドを指す。
:;-d start-end
:;-d start-end
::Delete the history entries between positions start and end,  inclusive.  Positive and negative values for start and end are interpreted as described above.
::開始位置と終了位置の間の履歴エントリを削除する。 startとendの正の値と負の値は、上記のように解釈される。
:;-a
:;-a
::Append  the ``new'' history lines to the history file.  These are history lines entered since the beginning of the current bash session, but not already appended  to the history file.
::''新しい''ヒストリ行をヒストリファイルに追加する。 これらの行は現在のbashセッションの開始以降に入力されたヒストリで、まだヒストリファイルに追加されていない行である。
:;-n
:;-n
::Read the history lines not already read from the history file into the current history list.  These are lines appended to the history file since the beginning of the current bash session.
::ヒストリファイルからまだ読み込まれていないヒストリ行を現在のヒストリリストに読み込む。 これらは、現在のbashセッションの開始以降にヒストリファイルに追加された行である。
:;-r
:;-r
::Read the contents of the history file and append them to the current history list.
::履歴ファイルの内容を読み込み、現在の履歴リストに追加する。
:;-w
:;-w
::Write  the current history list to the history file, overwriting the history file's contents.
::現在の履歴リストを履歴ファイルに書き込み、履歴ファイルの内容を上書きする。
:;-p
:;-p
::Perform history substitution on the following args and display the  result  on  the standard output.  Does not store the results in the history list.  Each arg must be quoted to disable normal history expansion.
::以下の引数に対してヒストリ置換を行い、結果を標準出力に表示する。 ヒストリリストには結果を保存しない。 通常のヒストリ展開を無効にするには、各argを引用符で囲む必要がある。
:;-s
:;-s
::Store the args in the history list as a single entry.  The last command in the history list is removed before the args are added.
::履歴リストに引数を1つのエントリーとして保存する。 履歴リストの最後のコマンドは、引数が追加される前に削除される。


:If  the  HISTTIMEFORMAT variable  is set, the time stamp information associated with each history entry is written to the history file, marked with the history  comment  character. When the history file is read, lines beginning with the history comment character followed immediately by a digit are interpreted as timestamps for the following history entry.  The return  value  is 0 unless an invalid option is encountered, an error occurs while reading or writing the history file, an invalid offset is supplied as an argument to  -d,  or  the history expansion supplied as an argument to -p fails.
:'''HISTTIMEFORMAT'''変数が設定されている場合、各履歴エントリーに関連するタイムスタンプ情報は、履歴コメント文字でマークされた履歴ファイルに書き込まれる。ヒストリファイルが読み込まれると、ヒストリコメント文字の直後に数字が続く行は、次のヒストリエントリのタイムスタンプとして解釈される。 無効なオプションに遭遇するか、ヒストリファイルの読み込みまたは書き込み中にエラーが発生するか、-dの引数として無効なオフセットが与えられるか、-pの引数として与えられたヒストリ展開が失敗しない限り、戻り値は0である。


;<nowiki>jobs [-lnprs] [ jobspec ... ]</nowiki>
;<nowiki>jobs [-lnprs] [ jobspec ... ]</nowiki>
;<nowiki>jobs -x command [ args ... ]</nowiki>
;<nowiki>jobs -x command [ args ... ]</nowiki>
:The first form lists the active jobs.  The options have the following meanings:
:最初のフォームは、アクティブなジョブの一覧を表示する。 オプションの意味は以下の通りである:
:;-l
:;-l
::List process IDs in addition to the normal information.
::通常の情報に加えて、プロセスIDをリストアップする。
:;-n
:;-n
::Display  information  only  about  jobs that have changed status since the user was last notified of their status.
::ユーザーが最後にステータスを通知されてからステータスが変更されたジョブに関する情報のみを表示する。
:;-p
:;-p
::List only the process ID of the job's process group leader.
::ジョブのプロセスグループリーダーのプロセスIDのみをリストする。
:;-r
:;-r
::Display only running jobs.
::実行中のジョブのみを表示する。
:;-s
:;-s
::Display only stopped jobs.
::停止したジョブのみを表示する。


:If jobspec is given, output is restricted to information about that job.  The return  status is 0 unless an invalid option is encountered or an invalid jobspec is supplied.
:jobspec が与えられた場合、出力はそのジョブに関する情報に制限される。 無効なオプションに遭遇するか、無効なjobspecが与えられない限り、戻りステータスは0である。


:If  the -x option is supplied, jobs replaces any jobspec found in command or args with the corresponding process group ID, and executes command passing it args, returning  its  exit status.
:-xオプションが与えられた場合、jobsはcommandまたはargsで見つかったjobspecを対応するプロセスグループIDに置き換え、argsを渡してコマンドを実行し、その終了ステータスを返す。


;<nowiki>kill [-s sigspec | -n signum | -sigspec] [pid | jobspec] ...</nowiki>
;<nowiki>kill [-s sigspec | -n signum | -sigspec] [pid | jobspec] ...</nowiki>
;<nowiki>kill -l|-L [sigspec | exit_status]</nowiki>
;<nowiki>kill -l|-L [sigspec | exit_status]</nowiki>
:Send  the  signal  named  by  sigspec or signum to the processes named by pid or jobspec. sigspec is either a case-insensitive signal name such as SIGKILL (with or without the  SIG prefix) or  a  signal number; signum is a signal number.  If sigspec is not present, then SIGTERM is assumed.  An argument of -l lists the signal names.  If any arguments are  supplied  when  -l is  given,  the  names  of the signals corresponding to the arguments are listed, and the return status is 0.  The exit_status argument to -l is a number specifying either a signal number or the exit status of a process terminated by a signal.  The -L option is equivalent to -l.  kill returns true if at least one signal was successfully sent, or false if an error occurs or an invalid option is encountered.
:sigspec は '''SIGKILL''' のような大文字小文字を区別しないシグナル名 (SIG 接頭辞の有無は問わない) かシグナル番号であり、 signum はシグナル番号である。 sigspecが存在しない場合は、SIGTERMが想定される。 引数 -l は、シグナル名の一覧を示す。 lを指定する際に引数が指定された場合、引数に対応するシグナル名が列挙され、 戻りステータスは0となる。-lの引数exit_statusは、シグナル番号またはシグナルによって 終了したプロセスの終了ステータスを指定する数値である。 killは、少なくとも1つのシグナルが正常に送信された場合は真を返し、 エラーが発生した場合や無効なオプションに遭遇した場合は偽を返す。


;<nowiki>let arg [arg ...]</nowiki>
;<nowiki>let arg [arg ...]</nowiki>
:Each  arg  is  an arithmetic expression to be evaluated (see ARITHMETIC EVALUATION above). If the last arg evaluates to 0, let returns 1; 0 is returned otherwise.
:各argは評価される算術式である(上記の[[#ARITHMETIC EVALUATION|ARITHMETIC EVALUATION ]]を参照)。最後のargが0と評価された場合、letは1を返し、そうでない場合は0が返される。


;<nowiki>local [option] [name[=value] ... | - ]</nowiki>
;<nowiki>local [option] [name[=value] ... | - ]</nowiki>
:For each argument, a local variable named name is created, and assigned value.  The option can  be  any of the options accepted by declare.  When local is used within a function, it causes the variable name to have a visible scope restricted to that function and its children.  If name is -, the set of shell options is made local to the function in which local is invoked: shell options changed using the set builtin inside the function  are  restored to  their  original values when the function returns.  The restore is effected as if a series of set commands were executed to restore the values that were  in  place  before  the function.  With  no operands, local writes a list of local variables to the standard output.  It is an error to use local when not within a function.  The return status is 0  unless local is used outside a function, an invalid name is supplied, or name is a readonly variable.
:各引数に対して、nameという名前のローカル変数が作成され、値が代入される。 オプションは、declareが受け付けるオプションのいずれかである。 localが関数内で使われると、変数名はその関数とその子関数に限定された可視スコープを持つようになる。 nameが-である場合、シェルオプションのセットは、localが呼び出された関数のローカルになる。関数内でset組み込み関数を使って変更されたシェルオプションは、関数が戻ったときに元の値に復元される。 このリストアは、あたかも一連のsetコマンドを実行して、関数を実行する前の値をリストアしたかのように行われる。 オペランドがない場合、localはローカル変数のリストを標準出力に書き出す。 関数内以外でlocalを使用するのはエラーである。 localが関数外で使用されているか、無効な名前が与えられているか、nameが読み取り専用変数でない限り、戻りステータスは0である。


;logout  
;logout  
:Exit a login shell.
:ログインシェルを終了する。


;<nowiki>mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]</nowiki>
;<nowiki>mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]</nowiki>
;<nowiki>readarray  [-d  delim]  [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]</nowiki>
;<nowiki>readarray  [-d  delim]  [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]</nowiki>
:Read lines from the standard input into the indexed array variable array, or from file descriptor fd if the -u option is supplied.  The variable MAPFILE is the default array.  Options, if supplied, have the following meanings:
:標準入力からインデックス付き配列変数arrayに、または-uオプションが与えられている場合はファイルディスクリプタfdから行を読み込む。 変数'''MAPFILE'''はデフォルトの配列である。 オプションが与えられた場合の意味は以下の通りである。:
:;-d
:;-d
::The first character of delim is used to terminate each input line, rather than newline.  If delim is the empty string, mapfile will terminate a line when it reads a NUL character.
::delimの最初の文字は、改行ではなく、各入力行を終了するために使われる。  delimが空文字列の場合、mapfileはNUL文字を読んだ時点で行を終了する。
:;-n
:;-n
::Copy at most count lines.  If count is 0, all lines are copied.
::最大で count 行コピーする。 countが0の場合、すべての行がコピーされる。
:;-O
:;-O
::Begin assigning to array at index origin.  The default index is 0.
::インデックスを原点として配列への代入を開始する。 デフォルトのインデックスは0である。
:;-s
:;-s
::Discard the first count lines read.
::最初に読んだカウント行は破棄する。
:;-t
:;-t
::Remove a trailing delim (default newline) from each line read.
::読み込んだ各行から末尾の区切り文字(デフォルトは改行)を取り除く。
:;-u
:;-u
::Read lines from file descriptor fd instead of the standard input.
::標準入力の代わりにファイル・ディスクリプタfdから行を読む。
:;-C
:;-C
::Evaluate callback each time quantum lines are read.  The -c option specifies  quantum.
::量子行が読み込まれるたびにコールバックを評価する。 -cオプションで量子を指定する。
:;-c
:;-c
::Specify the number of lines read between each call to callback.
::コールバックを呼び出すたびに読み込む行数を指定する。


:If  -C  is specified without -c, the default quantum is 5000.  When callback is evaluated, it is supplied the index of the next array element to be assigned and the line to  be  assigned  to  that element as additional arguments.  callback is evaluated after the line is read but before the array element is assigned.
:-cを指定せずに-Cを指定した場合、デフォルトの量子は5000である。 callbackが評価されるとき、追加引数として、次に代入される配列要素のインデックスと、その要素に代入される行が与えられる。


:If not supplied with an explicit origin, mapfile will clear array before assigning to it.
:明示的に原点が与えられない場合、mapfileはその原点に代入する前に配列をクリアする。


:mapfile returns successfully unless an invalid option or option argument is supplied,  array is invalid or unassignable, or if array is not an indexed array.
:mapfileは、無効なオプションやオプション引数が与えられていないか、配列が無効か割り当て不可能でないか、配列がインデックス付き配列でない場合を除き、正常に戻る。


;<nowiki>popd [-n] [+n] [-n]</nowiki>
;<nowiki>popd [-n] [+n] [-n]</nowiki>
:Removes  entries  from  the directory stack.  With no arguments, removes the top directory from the stack, and performs a cd to the new top directory.  Arguments, if supplied,  have the following meanings:
:ディレクトリスタックからエントリを削除する。 引数がない場合、スタックからトップディレクトリを削除し、新しいトップディレクトリへの cd を実行する。 引数が与えられた場合、以下の意味を持つ。:
:;-n
:;-n
::Suppresses the normal change of directory when removing directories from the stack, so that only the stack is manipulated.
::スタックからディレクトリを削除する際に、通常のディレクトリの変更を抑制し、スタックのみが操作されるようにする。
:;+n
:;+n
::Removes the nth entry counting from the left of the list shown  by  dirs,  starting with zero.  For example: ``popd +0'' removes the first directory, ``popd +1'' the second.
::dirs で示されるリストの左から 0 から数えて n 番目のエントリを削除する。 例えば: ``popd +0'' は最初のディレクトリを削除し、 ``popd +1'' は2番目のディレクトリを削除する。
:;-n
:;-n
::Removes the nth entry counting from the right of the list shown by  dirs,  starting with  zero.  For example: ``popd -0'' removes the last directory, ``popd -1'' the next to last.
::dirs で示されるリストの右から 0 から数えて n 番目のエントリを削除する。 例えば、 ``popd -0'' は最後のディレクトリを削除し、 ``popd -1'' はその次を削除する。


:If the popd command is successful, a dirs is performed as well, and the return  status  is 0.  popd returns false if an invalid option is encountered, the directory stack is empty, a non-existent directory stack entry is specified, or the directory change fails.
:popdコマンドが成功した場合、dirsも実行され、戻りステータスは0である。無効なオプションに遭遇した場合、ディレクトリスタックが空である場合、存在しないディレクトリスタックエントリが指定された場合、またはディレクトリの変更が失敗した場合、popdは偽を返す。


;<nowiki>printf [-v var] format [arguments]</nowiki>
;<nowiki>printf [-v var] format [arguments]</nowiki>
:Write the formatted arguments to the standard output under the control of the format.  The -v  option  causes the output to be assigned to the variable var rather than being printed to the standard output.
:フォーマットされた引数を、フォーマットの制御下で標準出力に書き出す。 vオプションを付けると、出力は標準出力に出力されるのではなく、変数varに代入される。


:The format is a character string which contains three types of objects: plain  characters, which  are  simply  copied  to standard output, character escape sequences, which are converted and copied to the standard output, and format specifications, each of which  causes printing  of  the  next successive argument.  In addition to the standard printf(1) format specifications, printf interprets the following extensions:
:すなわち、単純に標準出力にコピーされるプレーン文字、変換されて標準出力にコピーされる文字エスケープシーケンス、および次の連続する引数の印刷を引き起こす各フォーマット指定である。 標準の[[/usr/bin/printf|printf]](1)フォーマット指定に加えて、printfは以下の拡張を解釈する:
:;%b
:;%b
::causes printf to expand backslash escape sequences in the corresponding argument in the same way as echo -e.
::printfは、echo -eと同じように、対応する引数のバックスラッシュ・エスケープ・シーケンスを展開する。
:;%q
:;%q
::causes  printf  to output the corresponding argument in a format that can be reused as shell input.
::printfは、対応する引数をシェル入力として再利用できる形式で出力する。
:;%(datefmt)T
:;%(datefmt)T
::causes printf to output the date-time string resulting from using datefmt as a format  string for strftime(3).  The corresponding argument is an integer representing the number of seconds since the epoch.  Two special argument values may be used: -1 represents  the current time, and -2 represents the time the shell was invoked.  If no argument is specified, conversion behaves as if -1 had been given.  This  is  an exception to the usual printf behavior.
::'''[https://manpages.debian.org/bookworm/manpages-dev/strftime.3.en.html strftime]'''(3) のフォーマット文字列として datefmt を使用した結果の日付時刻文字列を printf に出力させる。 対応する引数は、エポックからの秒数を表す整数である。 2つの特別な引数値を使うことができる: -1 は現在時刻を表し、-2 はシェルが起動された時刻を表す。 引数が指定されない場合、変換は-1が与えられたかのように動作する。 これは、通常のprintfの動作の例外である。


:The  %b,  %q,  and  %T directives all use the field width and precision arguments from the format specification and write that many bytes from (or use that wide a field for) the expanded argument, which usually contains more characters than the original.
:b、%q、%Tディレクティブはすべて、書式指定のフィールド幅と精度の引数を使用し、拡張された引数からそのバイト数を書き込む(あるいは、その幅のフィールドを使用する)。


Arguments  to non-string format specifiers are treated as C constants, except that a leading plus or minus sign is allowed, and if the leading character  is  a  single  or  double quote, the value is the ASCII value of the following character.
:文字列以外の書式指定子への引数は、Cの定数として扱われる。ただし、先頭のプラス記号またはマイナス記号は許容され、先頭の文字がシングルクォートまたはダブルクォートの場合、値はそれに続く文字のASCII値となる。


The format is reused as necessary to consume all of the arguments.  If the format requires more arguments than are supplied, the extra format specifications  behave  as  if  a  zero value or null string, as appropriate, had been supplied.  The return value is zero on success, non-zero on failure.
:書式は、すべての引数を消費するために必要に応じて再利用される。 その書式が,与えられた引数よりも多くの引数を必要とする場合,余分な書式指定は,適切な場合には,ゼロ値またはヌル文字列が与えられたかのように振る舞う。 戻り値は、成功した場合はゼロ、失敗した場合はゼロ以外である。


;<nowiki>pushd [-n] [+n] [-n]</nowikI>
;<nowiki>pushd [-n] [+n] [-n]</nowikI>
;<nowiki>pushd [-n] [dir]</nowiki>
;<nowiki>pushd [-n] [dir]</nowiki>
:Adds a directory to the top of the directory stack, or rotates the stack, making the  new top  of  the  stack the current working directory.  With no arguments, pushd exchanges the top two directories and returns 0, unless the directory stack  is  empty.  Arguments,  if supplied, have the following meanings:
:ディレクトリ・スタックの先頭にディレクトリを追加するか、スタックを回転させ、 新しいスタックの先頭を現在の作業ディレクトリにする。 引数がない場合、pushd はディレクトリスタックが空でない限り、上位 2 つのディレクトリを交換し、0 を返す。 引数が与えられた場合、以下の意味を持つ:
:;-n
:;-n
::Suppresses  the  normal  change of directory when rotating or adding directories to the stack, so that only the stack is manipulated.
::スタックを回転したり、スタックにディレクトリを追加したりするときに、通常のディレクトリの変更を抑制し、スタックだけを操作するようにする。
:;+n
:;+n
::Rotates the stack so that the nth directory (counting from the  left  of  the  list shown by dirs, starting with zero) is at the top.
::スタックを回転させ、n番目のディレクトリ(dirsで示されるリストの左から数えて、ゼロから始まる)が一番上に来るようにする。
:;-n
:;-n
::Rotates  the  stack  so that the nth directory (counting from the right of the list shown by dirs, starting with zero) is at the top.
::スタックを回転させ、n番目のディレクトリ(dirsで示されるリストの右から数えて、ゼロから始まる)が一番上に来るようにする。
:;dir
:;dir
::Adds dir to the directory stack at the top, making it the new current  working  di‐
::dirをディレクトリスタックの先頭に追加し、あたかもcd組み込み関数の引数として与えられたかのように、新しいカレント作業ディレクトリとする。
rectory as if it had been supplied as the argument to the cd builtin.


:If  the  pushd  command  is successful, a dirs is performed as well.  If the first form is used, pushd returns 0 unless the cd to dir fails.  With the second form, pushd  returns  0 unless  the directory stack is empty, a non-existent directory stack element is specified, or the directory change to the specified new current directory fails.
:pushdコマンドが成功した場合、dirsも実行される。 最初の形式を使用した場合、dir への cd が失敗しない限り、pushd は 0 を返す。 2番目の形式では、ディレクトリ・スタックが空であるか、存在しないディレクトリ・スタック要素が指定されるか、指定された新しいカレント・ディレクトリへのディレクトリ変更が失敗しない限り、pushdは0を返す。


;<nowiki>pwd [-LP]</nowiki>
;<nowiki>pwd [-LP]</nowiki>
:Print the absolute pathname of the current working directory.  The pathname  printed  contains  no symbolic links if the -P option is supplied or the -o physical option to the set builtin command is enabled.  If the -L option is used, the pathname  printed  may  contain symbolic links.  The return status is 0 unless an error occurs while reading the name of the current directory or an invalid option is supplied.
:現在の作業ディレクトリの絶対パス名を表示する。 Pオプションが指定されているか、set組み込みコマンドの -o物理オプションが有効になっている場合、出力されるパス名にはシンボリックリンクは含まれない。 Lオプションを使用すると、シンボリックリンクを含むパス名が出力される。 カレントディレクトリ名の読み込み中にエラーが発生するか、無効なオプションが指定されない限り、戻りステータスは 0 である。


;<nowiki>read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout]  [-u fd] [name ...]</nowiki>
;<nowiki>read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout]  [-u fd] [name ...]</nowiki>
:One  line  is  read from the standard input, or from the file descriptor fd supplied as an argument to the -u option, split into words as described above under Word  Splitting,  and the  first  word is assigned to the first name, the second word to the second name, and so on.  If there are more words than names, the remaining words and their intervening  delimiters  are assigned to the last name.  If there are fewer words read from the input stream than names, the remaining names are assigned empty values.  The characters in IFS are used to  split the line into words using the same rules the shell uses for expansion (described above under Word Splitting).  The backslash character (\) may be used to remove  any  special meaning for the next character read and for line continuation.  Options, if supplied, have the following meanings:
:標準入力、または-uオプションの引数として与えられたファイル・ディスクリプタfdから1行が読み込まれ、上記の「単語の分割」で説明したように単語に分割され、最初の単語が最初の名前に、2番目の単語が2番目の名前に、といった具合に割り当てられる。 単語が名前より多い場合は、残りの単語とその間の区切り文字が最後の名前に割り当てられる。 入力ストリームから読み込まれた単語の数が名前の数より少ない場合、残りの名前には空の値が割り当てられる。 IFSの文字は、シェルが展開に使用するのと同じ規則を使用して行を単語に分割する ために使用される(上記の「単語の分割」で説明)。 バックスラッシュ文字( \)は、次に読み込まれる文字と行の継続のための特別な意味を取り除くために使用される。 オプションが与えられた場合、以下の意味を持つ:
:;-a aname
:;-a aname
::The words are assigned to sequential indices of the array variable aname,  starting at 0.  aname is unset before any new values are assigned.  Other name arguments are ignored.
::新しい値が代入される前に、anameはアンセットされる。 他の名前引数は無視される。
:;-d delim
:;-d delim
::The first character of delim is used to terminate the input line, rather than  newline.  If delim is the empty string, read will terminate a line when it reads a NUL character.
::delimの最初の文字は、改行ではなく、入力行を終了するために使われる。 delimが空文字列の場合、readはNUL文字を読んだ時点で行を終了する。
:;-e     
:;-e     
::If the standard input is coming from a terminal, readline (see READLINE above)  is used  to  obtain  the line.  Readline uses the current (or default, if line editing was not previously active) editing settings, but uses Readline's  default  filename completion.
::標準入力がターミナルからの場合、行を取得するためにreadline(上記の[[#READLINE|READLINE ]]を参照)が使用される。 Readlineは、現在の(または行編集が以前にアクティブでなかった場合はデフォルトの)編集設定を使用するが、Readlineのデフォルトのファイル名補完を使用する。
:;-i text
:;-i text
::If  readline is being used to read the line, text is placed into the editing buffer before editing begins.
::行の読み取りにreadlineが使われている場合、テキストは編集が始まる前に編集バッファに置かれる。
:;-n nchars
:;-n nchars
::read returns after reading nchars characters rather than  waiting  for  a  complete line  of input, but honors a delimiter if fewer than nchars characters are read before the delimiter.
::readは、入力の完全な行を待つのではなく、nchars文字を読んだ後に戻るが、区切り文字の前にnchars文字より少ない文字が読み込まれた場合は、区切り文字を尊重する。
:;-N nchars
:;-N nchars
::read returns after reading exactly nchars characters rather than waiting for a complete  line of input, unless EOF is encountered or read times out.  Delimiter characters encountered in the input are not treated specially and do not cause read  to return until nchars characters are read.  The result is not split on the characters in IFS; the intent is that the variable is assigned  exactly  the  characters  read (with the exception of backslash; see the -r option below).
::readは、EOFに遭遇するかreadがタイムアウトしない限り、入力の完全な行を待つのではなく、正確にnchars文字を読んだ後に戻る。 入力中の区切り文字は特別に扱われず、nchars文字が読み込まれるまでreadが戻ることはない。 その意図は、読み込まれた文字がそのまま変数に代入されることである(バックスラッシュを除く。)
:;-p prompt
:;-p prompt
::Display  prompt on standard error, without a trailing newline, before attempting to read any input.  The prompt is displayed only if input is coming from a terminal.
::入力を読み込む前に、標準エラーにプロンプトを表示する。 プロンプトは、入力がターミナルから来た場合にのみ表示される。
:;-r
:;-r
::Backslash does not act as an escape character.  The backslash is considered  to  be part  of the line.  In particular, a backslash-newline pair may not then be used as a line continuation.
::バックスラッシュはエスケープ文字としては機能しない。 バックスラッシュは行の一部とみなされる。 特に、バックスラッシュと改行のペアを行の続きとして使用してはならない。
:;-s
:;-s
::Silent mode.  If input is coming from a terminal, characters are not echoed.
::サイレントモード。 端末からの入力の場合、文字はエコーされない。
:;-t timeout
:;-t timeout
::Cause read to time out and return failure if a complete line of input (or a  specified  number  of  characters) is not read within timeout seconds.  timeout may be a decimal number with a fractional portion following the decimal point.  This  option is  only effective if read is reading input from a terminal, pipe, or other special file; it has no effect when reading from regular files.  If read  times  out,  read saves  any  partial  input read into the specified variable name.  If timeout is 0, read returns immediately, without trying to read any data.  The exit status is 0 if input  is available on the specified file descriptor, non-zero otherwise.  The exit status is greater than 128 if the timeout is exceeded.
::timeout秒以内に入力の完全な行(または指定された文字数)が読み込まれなかった場合、readをタイムアウトさせ、失敗を返すようにする。timeoutには、小数点以下の端数を含む10進数を指定することができる。 このオプションは、readがターミナル、パイプ、その他の特殊なファイルから入力を読み込む場合にのみ有効で、通常のファイルから読み込む場合には効果がない。 readがタイムアウトした場合、readは読み込んだ入力の一部を指定した変数名に保存する。 タイムアウトが0の場合、readはデータの読み込みを試みずに直ちに戻る。 終了ステータスは、指定されたファイル記述子で入力が利用可能であれば0、そうでなければ0以外である。 タイムアウトを超えると、終了ステータスは128より大きくなる。
:;-u fd   
:;-u fd   
::Read input from file descriptor fd.
::ファイルディスクリプタfdから入力を読み込む。


:If no names are supplied, the line read, without the ending delimiter but otherwise unmodified,  is assigned to the variable REPLY.  The exit status is zero, unless end-of-file is encountered, read times out (in which case the status is greater than 128), a variable assignment  error  (such as assigning to a readonly variable) occurs, or an invalid file descriptor is supplied as the argument to -u.
:名前が与えられない場合、読み込まれた行は、終端デリミタなしで、それ以外は変更されずに、変数 REPLY に代入される。 終了ステータスは、ファイル終了に遭遇するか、読み込みがタイムアウトするか(この場合、ステータスは128より大きくなる)、変数代入エラー(読み取り専用変数への代入など)が発生するか、無効なファイル記述子が-uの引数として与えられない限り、0である。


;<nowiki>readonly [-aAf] [-p] [name[=word] ...]</nowiki>
;<nowiki>readonly [-aAf] [-p] [name[=word] ...]</nowiki>
:The given names are marked readonly; the values of these names may not be changed by  subsequent  assignment.  If  the  -f option is supplied, the functions corresponding to the names are so marked.  The -a option restricts the variables to indexed arrays; the -A  option  restricts  the  variables  to  associative arrays.  If both options are supplied, -A takes precedence.  If no name arguments are given, or if the -p option is supplied, a list of all readonly names is printed.  The other options may be used to restrict the output to a subset of the set of readonly names.  The -p option causes output to be displayed  in  a format that may be reused as input.  If a variable name is followed by =word, the value of the variable is set to word.  The return status is 0 unless an invalid option  is  encountered,  one of the names is not a valid shell variable name, or -f is supplied with a name that is not a function.
:指定された名前には読み取り専用マークが付けられ、以後の代入によってこれらの名前の値が変更されることはない。-f オプションを指定すると、その名前に対応する関数がそのようにマークされる。 -aオプションは変数を添字配列に制限し、-Aオプションは変数を連想配列に制限する。 両方のオプションが指定された場合は、-Aが優先される。 name 引数が与えられていない場合、または -p オプションが与えられている場合は、すべての読み取り専用名のリストが表示される。 他のオプションを使って、出力を読み取り専用名のサブセットに制限することができる。 pオプションを指定すると、入力として再利用できる形式で出力が表示される。 変数名の後に=wordが続くと、その変数の値がwordに設定される。 無効なオプションに遭遇した場合、名前の1つが有効なシェル変数名でない場合、または -f に関数でない名前が指定された場合を除き、戻り値は 0 である。


;<nowiki>return [n]</nowiki>
;<nowiki>return [n]</nowiki>
:Causes a function to stop executing and return the value specified by n to its caller.  If n is omitted, the return status is that of the last command executed in the function body. If return is executed by a trap handler, the last command used to determine the status  is the  last  command executed before the trap handler. If return is executed during a DEBUG trap, the last command used to determine the status is the last command  executed  by  the trap  handler before return was invoked.  If return is used outside a function, but during execution of a script by the .  (source) command, it causes the shell  to  stop  executing that script and return either n or the exit status of the last command executed within the script as the exit status of the script.  If n is supplied, the return value is its  least significant 8 bits.  The return status is non-zero if return is supplied a non-numeric argument, or is used outside a function and not during execution of a script by . or source. Any command associated with the RETURN trap is executed before execution resumes after the function or script.
:関数の実行を停止し、nで指定された値を呼び出し元に返す。 nが省略された場合、returnのステータスは、関数本体内で最後に実行されたコマンドのステータスとなる。return がトラップハンドラによって実行される場合、ステータスを決定するために使用される最後のコマンドは、トラップハンドラの前に実行された最後のコマンドである。 returnがDEBUGトラップ中に実行された場合、ステータスを決定するために使用される最後のコマンドは、returnが呼び出される前にトラップハンドラによって実行された最後のコマンドである。 returnが関数の外で、.(ソース)コマンドによるスクリプトの実行中に使用された場合、そのスクリプトの実行をシェルに停止させ、nまたはスクリプト内で最後に実行されたコマンドの終了ステータスのいずれかをスクリプトの終了ステータスとして返す。 n が指定された場合、戻り値はその最下位 8 ビットである。 returnに数値以外の引数が指定された場合、または.やsourceによるスクリプトの実行中ではなく関数の外部で使用された場合、戻り値は0以外のステータスになる。RETURNトラップに関連付けられたコマンドは、関数またはスクリプトの実行後に実行が再開される前に実行される。


;<nowiki>set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...]</nowiki>
;<nowiki>set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...]</nowiki>
;<nowiki>set [+abefhkmnptuvxBCEHPT] [+o option-name] [arg ...]</nowiki>
;<nowiki>set [+abefhkmnptuvxBCEHPT] [+o option-name] [arg ...]</nowiki>
:Without options, the name and value of each shell variable are displayed in a format  that can  be  reused  as input for setting or resetting the currently-set variables.  Read-only variables cannot be reset.  In posix mode, only shell variables are listed.  The output is sorted  according  to  the  current locale.  When options are specified, they set or unset shell attributes.  Any arguments remaining after option processing are treated  as  values for the positional parameters and are assigned, in order, to $1, $2, ... $n.  Options, if specified, have the following meanings:
:オプションがなければ、各シェル変数の名前と値が、現在設定されている変数を設定またはリセットするための入力として再利用できる形式で表示される。 読み取り専用の変数はリセットできない。 posix モードでは、シェル変数のみが一覧表示される。 出力は、現在のロケールに従ってソートされる。 オプションが指定されると、シェル属性を設定または解除する。 オプション処理後に残った引数は、位置パラメータの値として扱われ、 $1, $2, ... $n の順に代入される。 オプションが指定された場合、以下の意味を持つ:
:;-a
:;-a
::Each variable or function that is created or modified is given the  export  attribute and marked for export to the environment of subsequent commands.
::作成または変更された各変数や関数にはexport属性が与えられ、後続のコマンドの環境にエクスポートされるようにマークされる。
:;-b
:;-b
::Report  the  status  of terminated background jobs immediately, rather than before the next primary prompt.  This is effective only when job control is enabled.
::終了したバックグラウンドジョブのステータスを、次のプライマリプロンプトの前ではなく、直ちに報告する。 これは、ジョブ制御が有効な場合にのみ有効である。
:;-e
:;-e
::Exit immediately if a pipeline (which may consist of a single simple  command),  a list,  or a compound command (see SHELL GRAMMAR above), exits with a non-zero status.  The shell does not exit if the command that fails is  part  of  the  command list  immediately  following  a while or until keyword, part of the test following the if or elif reserved words, part of any command executed in a && or || list except  the  command following the final && or ||, any command in a pipeline but the last, or if the command's return value is being inverted with !.   If  a  compound command  other  than a subshell returns a non-zero status because a command failed while -e was being ignored, the shell does not exit.  A trap on ERR,  if  set,  is executed before the shell exits.  This option applies to the shell environment and each subshell environment separately (see COMMAND EXECUTION ENVIRONMENT above), and may cause subshells to exit before executing all the commands in the subshell.
::パイプライン(単一の単純なコマンドで構成される)、リスト、または複合コマンド(上記の [[#SHELL GRAMMAR|SHELL GRAMMAR ]]を参照)がゼロ以外のステータスで終了した場合、直ちに終了する。 失敗したコマンドが、whileまたはuntilキーワードの直後のコマンドリストの一部、ifまたはelif予約語に続くテストの一部、最後の&&または||に続くコマンドを除く&&または||リストで実行されるコマンドの一部、パイプラインの最後のコマンド以外のコマンド、コマンドの戻り値がeが無視されている間にコマンドが失敗したため、サブシェル以外の複合コマンドがゼロ以外のステータスを返した場合、シェルは終了しない。 ERRのトラップが設定されている場合は、シェルが終了する前に実行される。 このオプションは、シェル環境と各サブシェル環境に個別に適用され (上記の「 [[#COMMAND EXECUTION ENVIRONMENT|COMMAND EXECUTION ENVIRONMENT ]]」を参照)、サブシェル内のすべてのコマンドを実行する前にサブシェルが終了することがある。


::If  a  compound  command or shell function executes in a context where -e is being ignored, none of the commands executed within the  compound  command  or  function body will be affected by the -e setting, even if -e is set and a command returns a failure status.  If a compound command or shell function sets -e  while  executing in  a context where -e is ignored, that setting will not have any effect until the compound command or the command containing the function call completes.
::-eが無視されるコンテキストで複合コマンドまたはシェル関数が実行される場合、-eが設定されているコマンドで失敗ステータスが返されたとしても、複合コマンドまたは関数本体内で実行されるコマンドはいずれも-e設定の影響を受けない。 -eが無視されるコンテキストで実行中に複合コマンドまたはシェル関数が-eを設定した場合、複合コマンドまたは関数呼び出しを含むコマンドが完了するまで、その設定は影響を及ぼさない。
:;-f
:;-f
::Disable pathname expansion.
::Disable pathname expansion.
:;-h
:;-h
::Remember the location of commands as they are looked up for execution.  This  is enabled by default.
::コマンドを実行するために検索する際に、コマンドの場所を記憶する。 これはデフォルトで有効になっている。
:;-k
:;-k
::All  arguments  in the form of assignment statements are placed in the environment for a command, not just those that precede the command name.
::コマンド名の前にある引数だけでなく、代入文の形をしたすべての引数がコマンドの環境に置かれる。
:;-m
:;-m
::Monitor mode.  Job control is enabled.  This option is on by default for  interactive shells on systems that support it (see JOB CONTROL above).  All processes run in a separate process group.  When a background job completes, the shell prints  a line containing its exit status.
::モニターモード。 ジョブ制御が有効になっている。 このオプションは、対話型シェルをサポートしているシステムではデフォルトでオンになっている(上記の [[#JOB CONTROL|JOB CONTROL ]]を参照)。 すべてのプロセスは別々のプロセスグループで実行される。 バックグラウンド・ジョブが完了すると、シェルは終了ステータスを含む行を表示する。
:;-n
:;-n
::Read  commands  but do not execute them.  This may be used to check a shell script for syntax errors.  This is ignored by interactive shells.
::コマンドを読むが実行はしない。 これは、シェルスクリプトの構文エラーをチェックするために使用される。 対話型シェルでは無視される。
:;-o option-name
:;-o option-name
::The option-name can be one of the following:
::オプション名は以下のいずれかである:
::allexport
::allexport
:::Same as -a.
:::-aと同じ
::braceexpand
::braceexpand
:::Same as -B.
:::-Bと同じ
::emacs
::emacs
:::Use an emacs-style command line editing interface.  This is enabled by de‐
:::emacsスタイルのコマンドライン編集インターフェイスを使用する。 これはデフォルトで有効になっている。ただし、 --noeditingオプションを指定してシェルを起動した場合はこの限りではない。 これは、read -eで使用される編集インターフェースにも影響する。
::fault 
:::when the shell is interactive, unless the shell is started with the --noediting option.  This also affects the editing interface used for read -e.
::errexit  
::errexit  
:::Same as -e.
:::-eと同じ
::errtrace
::errtrace
:::Same as -E.
:::-Eと同じ
::functrace
::functrace
:::Same as -T.
:::-Tと同じ
::hashall  
::hashall  
:::Same as -h.
:::-hと同じ
::histexpand
::histexpand
:::Same as -H.
:::-Hと同じ
::history  
::history  
:::Enable  command history, as described above under HISTORY.  This option is on by default in interactive shells.
:::上記の「 [[#HISTORY|HISTORY ]]」で説明したように、コマンドヒストリーを有効にする。 このオプションは対話型シェルではデフォルトでオンになっている。
::ignoreeof
::ignoreeof
:::The effect is as if the shell command ``IGNOREEOF=10'' had  been  executed (see Shell Variables above).
:::あたかもシェルコマンド ``IGNOREEOF=10'' が実行されたかのような効果がある(上記のシェル変数を参照)
::keyword
::keyword
:::Same as -k.
:::-kと同じ
::monitor
::monitor
:::Same as -m.
:::-mと同じ
::noclobber
::noclobber
:::Same as -C.
:::-Cと同じ
::noexec
::noexec
:::Same as -n.
:::-nと同じ
::noglob
::noglob
:::Same as -f.
:::-fと同じ
::nolog
::nolog
:::Currently ignored.
:::現在は無視されている。
::notify   
::notify   
:::Same as -b.
:::-bと同じ
::nounset  
::nounset  
:::Same as -u.
:::-uと同じ
::onecmd   
::onecmd   
:::Same as -t.
:::-tと同じ
::physical
::physical
:::Same as -P.
:::-Pと同じ
::pipefail
::pipefail
:::If  set,  the  return value of a pipeline is the value of the last (right‐most) command to exit with a non-zero status, or zero if all  commands  in the pipeline exit successfully.  This option is disabled by default.
:::設定されている場合、パイプラインの戻り値は、0以外のステータスで終了した最後の(最も右側の)コマンドの値、またはパイプライン内のすべてのコマンドが正常に終了した場合は0になる。 このオプションはデフォルトでは無効になっている。
::posix
::posix
:::Change  the  behavior of bash where the default operation differs from the POSIX standard to match the standard (posix mode).  See SEE ALSO below for a  reference  to a document that details how posix mode affects bash's behavior.
:::デフォルトの動作がPOSIX標準と異なるbashの動作を、標準に合わせるように変更する(posixモード)。 posixモードがbashの動作にどのような影響を与えるかを詳しく説明したドキュメントへのリファレンスは、以下のSEE ALSOを参照のこと。
::privileged
::privileged
:::Same as -p.
:::-pと同じ
::verbose  
::verbose  
:::Same as -v.
:::-vと同じ
::vi
::vi
:::Use a vi-style command line editing  interface.  This  also  affects the editing interface used for read -e.
:::Viスタイルのコマンドライン編集インターフェイスを使用する。 これは、read -eで使用される編集インターフェースにも影響する。
::xtrace   
::xtrace   
:::Same as -x.
:::Same as -x.
::If  -o is  supplied  with  no  option-name, the values of the current options are printed.  If +o is supplied with no option-name,  a  series  of  set commands  to recreate the current option settings is displayed on the standard output.
::option-name なしで -o を指定すると、現在のオプションの値が表示される。 option-name なしで +o を指定すると、現在のオプション設定を再現する一連の set コマンドが標準出力に表示される。
:;-p
:;-p
::Turn  on privileged mode.  In this mode, the $ENV and $BASH_ENV files are not processed, shell functions are not inherited from the environment, and the SHELLOPTS, BASHOPTS, CDPATH, and GLOBIGNORE variables, if they appear in the environment, are ignored.  If the shell is started with the effective user (group) id not equal  to the  real  user  (group)  id, and the -p option is not supplied, these actions are taken and the effective user id is set to the real user id.  If the -p  option  is supplied  at startup, the effective user id is not reset.  Turning this option off causes the effective user and group ids to be set to the real user and group ids.
::特権モードをオンにする。 このモードでは、$ENV $BASH_ENV ファイルは処理されず、シェル関数は環境から継承されず、 SHELLOPTS、BASHOPTS、CDPATH、GLOBIGNORE 変数が環境にある場合は無視される。 実効ユーザー(グループ)IDが実ユーザー(グループ)IDに等しくない状態でシェルが起動され、-pオプションが与えられなかった場合、これらのアクションが実行され、実効ユーザーIDが実ユーザーIDに設定される。 起動時に-pオプションが指定された場合、実効ユーザーIDはリセットされない。 このオプションをオフにすると、実効ユーザーIDとグループIDが実際のユーザーIDとグループIDに設定される。
:;-t
:;-t
::Exit after reading and executing one command.
::コマンドを1つ読んで実行したら終了する。
:;-u
:;-u
::Treat unset variables and parameters other than the special parameters "@" and "*" as  an error when performing parameter expansion.  If expansion is attempted on an unset variable or parameter, the shell prints an error message, and, if not interactive, exits with a non-zero status.
::特殊パラメータ "@" "*" 以外の未設定の変数とパラメータを、パラメータ展開の際にエラーとして扱う。 未設定の変数やパラメータを展開しようとした場合、シェルはエラーメッセージを表示し、対話的でない場合は0以外のステータスで終了する。
:;-v
:;-v
::Print shell input lines as they are read.
::シェルの入力行が読み込まれると、それを表示する。
:;-x
:;-x
::After expanding each simple command, for command, case command, select command, or arithmetic for command, display the expanded value of PS4, followed by the command and its expanded arguments or associated word list.
::各単純コマンド、forコマンド、caseコマンド、selectコマンド、または算術コマンドを展開した後、PS4の展開値を表示し、その後にコマンドとその展開された引数、または関連する単語リストを表示する。
:;-B
:;-B
::The shell performs brace expansion (see Brace Expansion above).  This is on by default.
::シェルはブレース展開を行う(上記のブレース展開を参照)。 これはデフォルトでオンになっている。
:;-C
:;-C
::If set, bash does not overwrite an existing file with the >, >&, and <> redirection operators.  This may be overridden when creating output files by using the redirection operator >| instead of >.
::設定すると、bashは既存のファイルを>>&<>リダイレクト演算子で上書きしない。 この設定は、出力ファイルを作成するときに > の代わりに >| というリダイレクト演算子を使うことで上書きすることができる。
:;-E
:;-E
::If set, any trap on ERR is inherited by shell  functions,  command  substitutions, and commands executed in a subshell environment.  The ERR trap is normally not inherited in such cases.
::設定されている場合、ERRのトラップはすべて、シェル関数、コマンド置換、サブシェル環境で実行されるコマンドに継承される。 このような場合、ERRトラップは通常継承されない。
:;-H
:;-H
::Enable !  style history substitution.  This option is on by default when the shell is interactive.
::スタイルの履歴置換を有効にする。 このオプションは、シェルが対話型の場合、デフォルトでオンになる。
:;-P
:;-P
::If set, the shell does not resolve symbolic links when executing commands such as cd that change the current working directory.  It  uses  the  physical  directory structure instead.  By default, bash follows the logical chain of directories when performing commands which change the current directory.
::設定されていると、カレント作業ディレクトリを変更するcdなどのコマンドを実行するときに、シェルはシンボリックリンクを解決しない。 代わりに物理的なディレクトリ構造を使用する。 デフォルトでは、カレント・ディレクトリを変更するコマンドを実行するとき、bashはディレクトリの論理的な連鎖に従う。
:;-T
:;-T
::If set, any traps on DEBUG and RETURN are inherited by  shell  functions,  command substitutions, and commands executed in a subshell environment.  The DEBUG and RETURN traps are normally not inherited in such cases.
::設定されている場合、DEBUGとRETURNのトラップは、シェル関数、コマンド置換、サブシェル環境で実行されるコマンドに継承される。 DEBUGとRETURNのトラップは通常、このような場合には継承されない。
:;--
:;--
::If no arguments follow this option, then  the  positional  parameters  are  unset.Otherwise, the positional parameters are set to the args, even if some of them begin with a -.
::このオプションの後に引数が続かない場合、位置パラメーターは設定されない。そうでない場合、位置パラメーターは引数に設定され、たとえ引数の一部が-で始まるとしても、位置パラメーターは引数に設定される。
:;-
:;-
::Signal the end of options, cause all remaining args to be assigned to  the  positional  parameters.  The -x and -v options are turned off.  If there are no args, the positional parameters remain unchanged.
::オプションの終了を合図し、残りのすべての引数を位置パラメーターに代入させる。 xと-vオプションはオフになる。 引数がない場合、位置パラメーターは変更されない。


:特に断りのない限り、オプションはデフォルトでオフになっている。 ではなく+を使用すると、これらのオプションはオフになる。 オプションは、シェルを起動する際の引数として指定することもできる。 現在のオプションのセットは $- にある。 無効なオプションに遭遇しない限り、戻り値は常に真である。
:特に断りのない限り、オプションはデフォルトでオフになっている。 ではなく+を使用すると、これらのオプションはオフになる。 オプションは、シェルを起動する際の引数として指定することもできる。 現在のオプションのセットは $- にある。 無効なオプションに遭遇しない限り、戻り値は常に真である。
Line 2,784: Line 2,781:


== SHELL COMPATIBILITY MODE ==
== SHELL COMPATIBILITY MODE ==
Bash-4.0 introduced  the concept of a `shell compatibility level', specified as a set of options to the shopt builtin compat31, compat32, compat40, compat41, and so on).  There is only one  current  compatibility  level  -- each option is mutually exclusive.  The compatibility level is intended to allow users to select behavior from previous versions that is incompatible  with  newer versions  while  they migrate scripts to use current features and behavior. It's intended to be a temporary solution.
Bash-4.0では「シェル互換性レベル」という概念が導入され、shopt組み込みのcompat31、compat32、compat40、compat41などに対するオプションのセットとして指定される。) 現在の互換性レベルは1つだけで、各オプションは相互に排他的である。 互換性レベルは、ユーザーが新しいバージョンと互換性のない旧バージョンの動作を選択できるようにするためのもので、スクリプトを移行して現在の機能と動作を使用できるようにするためのものである。これは一時的な解決策である。


This section does not mention behavior that is standard for a particular version  (e.g.,  setting compat32 means that quoting the rhs of the regexp matching operator quotes special regexp characters in the word, which is default behavior in bash-3.2 and above).
このセクションでは、特定のバージョンで標準となっている動作については言及しない(例えば、compat32を設定することは、正規表現マッチング演算子のrhsを引用することで、単語内の特殊な正規表現文字を引用することを意味し、これはbash-3.2以上のデフォルトの動作である)。


If a user enables, say, compat32, it may affect the behavior of other compatibility levels up to and  including  the  current compatibility level.  The idea is that each compatibility level controls behavior that changed in that version of bash, but that behavior may have been  present  in earlier  versions.  For instance, the change to use locale-based comparisons with the [[ command came in bash-4.1, and earlier versions used ASCII-based comparisons, so  enabling  compat32  will enable ASCII-based comparisons as well.  That granularity may not be sufficient for all uses, and as a result users should employ compatibility levels carefully.  Read  the  documentation  for  a particular feature to find out the current behavior.
ユーザーが例えばcompat32を有効にすると、現在の互換性レベルまでの他の互換性レベルの動作に影響を与える可能性がある。 各互換性レベルは、そのバージョンのbashで変更された動作を制御するが、その動作は以前のバージョンにもあったかもしれないという考え方である。 例えば、[[ コマンドでロケール・ベースの比較を使用するようになったのはbash-4.1からで、それ以前のバージョンではASCIIベースの比較を使っていたため、compat32を有効にするとASCIIベースの比較も有効になる。 そのため、compat32を有効にすると、ASCIIベースの比較も有効になる。この細かさは、すべての用途に十分とは限らないので、ユーザーは互換性レベルを慎重に使用すべきである。 現在の動作を知るには、特定の機能のドキュメントを読むこと。


Bash-4.3  introduced  a  new shell variable: BASH_COMPAT.  The value assigned to this variable (a decimal version number like 4.2, or an integer corresponding to the compatNN option, like 42) determines the compatibility level.
Bash-4.3は新しいシェル変数を導入した: BASH_COMPATである。 この変数に代入される値(4.2のような10進数のバージョン番号、または42のようなcompatNNオプションに対応する整数)が互換性レベルを決定する。


Starting  with  bash-4.4, Bash has begun deprecating older compatibility levels.  Eventually, the options will be removed in favor of BASH_COMPAT.
bash-4.4から、Bashは古い互換性レベルを廃止し始めた。 最終的にはこのオプションは削除され、BASH_COMPATが使われるようになる。


Bash-5.0 is the final version for which there will be an individual shopt option for the previous version. Users should use BASH_COMPAT on bash-5.0 and later versions.
Bash-5.0は、以前のバージョンに対する個別のshoptオプションが存在する最後のバージョンである。ユーザーはbash-5.0以降のバージョンでBASH_COMPATを使うべきである。


The  following  table  describes the behavior changes controlled by each compatibility level setting.  The compatNN tag is used as shorthand for setting the compatibility level to NN using  one of  the following mechanisms.  For versions prior to bash-5.0, the compatibility level may be set using the corresponding compatNN shopt option.  For bash-4.3 and later versions, the  BASH_COMPAT variable is preferred, and it is required for bash-5.1 and later versions.
以下の表は、各互換性レベルの設定によって制御される動作の変更について説明したものである。 compatNNタグは、以下のメカニズムのいずれかを使用して互換性レベルをNNに設定するための省略記法として使用される。 bash-5.0より前のバージョンでは、対応するcompatNN shoptオプションを使用して互換性レベルを設定することができる。 bash-4.3およびそれ以降のバージョンでは、BASH_COMPAT変数を使用するのが望ましく、bash-5.1およびそれ以降のバージョンでは必須である。


;compat31
;compat31
* quoting  the  rhs  of the [[ command's regexp matching operator (=~) has no special effect
* コマンドの正規表現マッチング演算子(=~)のrhsを引用しても特別な効果はない。


;compat32
;compat32
* interrupting a command list such as "a ; b ; c" causes the execution  of  the  next command  in  the  list (in bash-4.0 and later versions, the shell acts as if it received the interrupt, so interrupting one command in a list aborts the execution of the entire list)
* "a ; b ; c "のようなコマンドリストに割り込むと、リスト内の次のコマンドが実行される(bash-4.0以降のバージョンでは、シェルは割り込みを受け取ったかのように動作するため、リスト内の1つのコマンドに割り込むと、リスト全体の実行が中断される)。


;compat40
;compat40
* the  < and  > operators to the [[ command do not consider the current locale when comparing strings; they use ASCII ordering. Bash versions prior  to  bash-4.1  use ASCII  collation  and strcmp(3); bash-4.1 and later use the current locale's collation sequence and strcoll(3).
* コマンドの < > 演算子は、文字列を比較するときに現在のロケールを考慮しない。 bash-4.1以前のバージョンでは、ASCII照合順序と[https://manpages.debian.org/unstable/manpages-dev/strcmp.3.en.html strcmp](3)を使用する。bash-4.1以降では、現在のロケールの照合順序と[https://manpages.debian.org/unstable/manpages-dev/strcoll.3.en.html strcoll](3)を使用する。


;compat41
;compat41
* in posix mode, time may be followed by options and still be  recognized  as  a  reserved word (this is POSIX interpretation 267)
* posixモードでは、timeの後にオプションを付けても予約語として認識される(これはPOSIX解釈267)。
* in  posix mode,  the parser requires that an even number of single quotes occur in the word portion of a double-quoted parameter expansion and treats them  specially, so  that  characters  within the single quotes are considered quoted (this is POSIX interpretation 221)
* posix モードでは、パーサーは二重引用符で囲まれたパラメータ展開の単語部分に偶数の一重引用符があることを要求し、一重引用符内の文字が引用符で囲まれたとみなされるように、それらを特別に扱う(これは POSIX 解釈 221 である)。


;compat42
;compat42
* the replacement string in double-quoted pattern substitution does not undergo quote removal, as it does in versions after bash-4.2
* 二重引用符で囲まれたパターン置換の置換文字列は、bash-4.2以降のバージョンでは引用符の削除を行わない。
* in posix mode, single quotes are considered special when expanding the word portion of a double-quoted parameter expansion and can be used to quote a closing brace  or other  special  character (this is part of POSIX interpretation 221); in later versions, single quotes are not special within double-quoted word expansions
* posixモードでは、二重引用符で囲まれたパラメータ展開の単語部分を展開するとき、一重引用符は特別なものとみなされ、閉じ波括弧や他の特別な文字を引用するために使用できる(これはPOSIX解釈221の一部である)。


;compat43
;compat43
* the shell does not print a warning message if an attempt is made to  use  a  quoted compound  assignment as an argument to declare (declare -a foo='(1 2)'). Later versions warn that this usage is deprecated
* シェルは、引用符で囲まれた複合代入をdeclareの引数として使おうとしても警告メッセージを表示しない(declare -a foo='(1 2)')。後のバージョンでは、この使い方が非推奨であることを警告する
* word expansion errors are considered non-fatal errors that cause the  current  command to fail, even in posix mode (the default behavior is to make them fatal errors that cause the shell to exit)
* 単語展開エラーは、posixモードであっても、現在のコマンドを失敗させる非致命的エラーとみなされる(デフォルトの動作は、シェルを終了させる致命的エラーとなる)。
* when executing a shell function, the loop state (while/until/etc.)  is  not  reset, so  break  or continue in that function will break or continue loops in the calling context. Bash-4.4 and later reset the loop state to prevent this
* シェル関数を実行するとき、ループ状態(while/until/etc)はリセットされないため、その関数内でbreakやcontinueを行うと、呼び出し元のコンテキストでループが解除されたり継続されたりする。Bash-4.4以降では、ループ状態をリセットしてこれを防いでいる。


;compat44
;compat44
* the shell sets up the values used by BASH_ARGV and BASH_ARGC so they can expand  to the shell's positional parameters even if extended debugging mode is not enabled
* シェルがBASH_ARGVとBASH_ARGCで使用する値を設定し、拡張デバッグモードが有効になっていなくても、シェルの位置パラメーターに展開できるようにする。
* a  subshell inherits loops from its parent context, so break or continue will cause the subshell to exit.  Bash-5.0 and later reset the loop state to prevent the exit
* サブシェルは親コンテキストからループを継承するため、breakやcontinueはサブシェルを終了させる。 Bash-5.0以降では、ループ状態をリセットして終了を防止する。
*variable assignments preceding builtins like  export  and  readonly  that  set  attributes continue to affect variables with the same name in the calling environment even if the shell is not in posix mode
*シェルがposixモードでなくても、exportやreadonlyのような属性を設定する組み込み関数に先行する変数代入は、呼び出し環境の同じ名前の変数に影響を与え続ける。


;compat50
;compat50
* Bash-5.1 changed the way $RANDOM is generated to introduce  slightly  more  randomness.  If  the  shell  compatibility level is set to 50 or lower, it reverts to the method from bash-5.0 and previous versions, so seeding the random number  generator by assigning a value to RANDOM will produce the same sequence as in bash-5.0
* Bash-5.1では、$RANDOMの生成方法が変更され、若干ランダム性が増した。 シェルの互換性レベルが50以下に設定されている場合、bash-5.0とそれ以前のバージョンの方法に戻るので、RANDOMに値を代入して乱数ジェネレーターをシードすると、bash-5.0と同じシーケンスが生成される。
* If  the command hash table is empty, bash versions prior to bash-5.1 printed an informational message to that effect, even when producing output that can  be  reused as input. Bash-5.1 suppresses that message when the -l option is supplied.
* コマンド・ハッシュ・テーブルが空の場合、bash-5.1より前のバージョンのbashでは、入力として再利用できる出力を生成する場合でも、その旨の情報メッセージが表示された。Bash-5.1では、-lオプションが指定されると、このメッセージが表示されなくなる。


== RESTRICTED SHELL ==
== RESTRICTED SHELL ==