/usr/bin/bash: Difference between revisions

 
(74 intermediate revisions by the same user not shown)
Line 946: Line 946:


=== Here Strings ===
=== Here Strings ===
      A variant of here documents, the format is:
here文書の変形で、フォーマットは以下の通りである:


              [n]<<<word
<code>[n]<<<word</code>


      The word undergoes tilde expansion, parameter  and  variable  expansion,  command  substitution,
wordは、チルダ展開、パラメータ展開、変数展開、コマンド置換、算術展開、引用符除去を受ける。 パス名の展開と単語の分割は行われない。 結果は、改行が付加された単一の文字列として、コマンドの標準入力(nが指定されている場合はファイル記述子n)に供給される。
      arithmetic  expansion,  and  quote  removal.  Pathname expansion and word splitting are not per‐
      formed.  The result is supplied as a single string, with a newline appended, to  the  command  on
      its standard input (or file descriptor n if n is specified).


=== Duplicating File Descriptors ===
=== Duplicating File Descriptors ===
      The redirection operator
リダイレクト演算子


              [n]<&word
<code>[n]<&word</code>


      is used to duplicate input file descriptors.  If word expands to one or more digits, the file de‐
は、入力ファイル記述子を複製するために使われる。 wordが1桁以上に拡張されると、nで示されるファイル記述子はそのファイル記述子のコピーとなる。 wordの数字が入力用にオープンされているファイル記述子を指定しない場合、リダイレクションエラーが発生する。 wordが-と評価された場合、ファイル記述子nはクローズされる。 nが指定されない場合、標準入力(ファイル記述子0)が使用される。
      scriptor denoted by n is made to be a copy of that file descriptor.  If the digits in word do not
      specify  a  file  descriptor open for input, a redirection error occurs.  If word evaluates to -,
      file descriptor n is closed.  If n is not specified, the standard input (file  descriptor  0)  is
      used.


      The operator
演算子


              [n]>&word
<code>[n]>&word</code>


      is used similarly to duplicate output file descriptors.  If n is not specified, the standard out‐
は、出力ファイル記述子を複製するために同様に使われる。 nが指定されない場合、標準出力(ファイル記述子1)が使用される。 wordの数字が出力用にオープンされているファイル記述子を指定しない場合、リダイレクションエラーが発生する。 wordが-と評価された場合、ファイル記述子nはクローズされる。 特殊なケースとして、nが省略され、wordが1桁以上の数字または-に展開されない場合、標準出力と標準エラーは前述のようにリダイレクトされる。
      put (file descriptor 1) is used.  If the digits in word do not specify a file descriptor open for
      output,  a  redirection error occurs.  If word evaluates to -, file descriptor n is closed.  As a
      special case, if n is omitted, and word does not expand to one or more digits or -, the  standard
      output and standard error are redirected as described previously.


=== Moving File Descriptors ===
=== Moving File Descriptors ===
      The redirection operator
リダイレクト演算子


              [n]<&digit-
<code>[n]<&digit-</code>


      moves  the  file descriptor digit to file descriptor n, or the standard input (file descriptor 0)
は、ファイル記述子digitをファイル記述子n、またはnが指定されない場合は標準入力(ファイル記述子0)に移動する。digitはnに複製された後、クローズされる。
      if n is not specified.  digit is closed after being duplicated to n.


      Similarly, the redirection operator
同様に、リダイレクト演算子


              [n]>&digit-
<code>[n]>&digit-</code>


      moves the file descriptor digit to file descriptor n, or the standard output (file descriptor  1)
は、ファイル記述子digitをファイル記述子nに移動し、nが指定されなければ標準出力(ファイル記述子1)に移動する。
      if n is not specified.


=== Opening File Descriptors for Reading and Writing ===
=== Opening File Descriptors for Reading and Writing ===
      The redirection operator
リダイレクト演算子


              [n]<>word
<code>[n]<>word</code>


      causes  the file whose name is the expansion of word to be opened for both reading and writing on
は、wordを展開した名前を持つファイルを、ファイル記述子n、またはnが指定されない場合はファイル記述子0上で読み書きの両方についてオープンする。 ファイルが存在しない場合は作成される。
      file descriptor n, or on file descriptor 0 if n is not specified.  If the file does not exist, it
      is created.


== ALIASES ==
== ALIASES ==
      Aliases allow a string to be substituted for a word when it is used as the first word of a simple
エイリアスを使用すると、単純なコマンドの最初の単語として文字列を使用するときに、その文字列を単語の代わりにすることができる。 シェルはエイリアスのリストを保持し、aliasとunalias組み込みコマンドで設定したり解除したりできる(後述のシェル組み込みコマンドを参照)。 各単純コマンドの最初の単語は、引用符で囲まれていない場合、エイリアスを持っているかどうかチェックされる。 もしあれば、その単語はエイリアスのテキストに置き換えられる。 文字 /, $, `, = や、上に挙げたシェルのメタ文字や引用符は、エイリアス名には使えない。 置換テキストには、シェルのメタキャラクタを含む有効なシェル入力を含めることができる。 置換テキストの最初の単語はエイリアスかどうかテストされるが、展開されるエイリアスと同じ単語は2度展開されない。 つまり、例えばlsをls -Fにエイリアスしても、bashは置換テキストを再帰的に展開しようとしない。 エイリアス値の最後の文字が空白の場合、エイリアスに続く次のコマンド語もエイリアス展開がチェックされる。
      command.  The shell maintains a list of aliases that may be set and unset with the alias and una‐
      lias builtin commands (see SHELL BUILTIN COMMANDS below).  The first word of each simple command,
      if unquoted, is checked to see if it has an alias.  If so, that word is replaced by the  text  of
      the  alias.  The characters /, $, `, and = and any of the shell metacharacters or quoting charac‐
      ters listed above may not appear in an alias name.  The replacement text may  contain  any  valid
      shell  input, including  shell metacharacters.  The first word of the replacement text is tested
      for aliases, but a word that is identical to an alias being expanded is  not  expanded  a  second
      time.  This  means that one may alias ls to ls -F, for instance, and bash does not try to recur‐
      sively expand the replacement text.  If the last character of the alias value is  a  blank,  then
      the next command word following the alias is also checked for alias expansion.


      Aliases are created and listed with the alias command, and removed with the unalias command.
エイリアスは、aliasコマンドで作成、リストされ、unaliasコマンドで削除される。


      There  is  no  mechanism for using arguments in the replacement text.  If arguments are needed, a
置換テキストに引数を使う仕組みはない。 引数が必要な場合は、シェル関数を使うべきである(下記のFUNCTIONSを参照)。
      shell function should be used (see FUNCTIONS below).


      Aliases are not expanded when the shell is not interactive, unless the expand_aliases  shell  op‐
shoptを使用してexpand_aliasesシェルオプションが設定されていない限り、シェルが対話的でないときにはエイリアスは展開されない(shoptについては、後述の[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]の説明を参照のこと)。
      tion is set using shopt (see the description of shopt under SHELL BUILTIN COMMANDS below).


      The rules concerning the definition and use of aliases are somewhat confusing.  Bash always reads
エイリアスの定義と使用に関するルールは少々わかりにくい。 Bashは常に、少なくとも1行の入力と、複合コマンドを構成するすべての行を読み込んでから、その行のコマンドや複合コマンドを実行する。 エイリアスは、コマンドが実行されるときではなく、読み込まれるときに展開される。 したがって、他のコマンドと同じ行に現れたエイリアス定義は、次の入力行が読み込まれるまで有効にならない。 その行のエイリアス定義に続くコマンドは、新しいエイリアスの影響を受けない。 この動作は、関数が実行される際にも問題となる。 関数定義はそれ自体がコマンドであるため、エイリアスは関数が実行されるときではなく、関数定義が読み込まれるときに展開される。 結果として、関数内で定義されたエイリアスは、その関数が実行されるまで使用できない。 安全のため、エイリアス定義は常に別の行に記述し、複合コマンドではエイリアスを使用しないこと。
      at least one complete line of input, and all lines that make up a compound command,  before  exe‐
      cuting  any  of  the  commands on that line or the compound command.  Aliases are expanded when a
      command is read, not when it is executed.  Therefore, an alias definition appearing on  the  same
      line  as another command does not take effect until the next line of input is read.  The commands
      following the alias definition on that line are not affected by the new alias.  This behavior  is
      also  an  issue  when functions are executed.  Aliases are expanded when a function definition is
      read, not when the function is executed, because a function definition is itself a command.  As a
      consequence,  aliases  defined  in a function are not available until after that function is exe‐
      cuted.  To be safe, always put alias definitions on a separate line, and do not use alias in com‐
      pound commands.


      For almost every purpose, aliases are superseded by shell functions.
ほとんどすべての目的において、エイリアスはシェル関数に取って代わられる。


== FUNCTIONS ==
== FUNCTIONS ==
      A shell function, defined as described above under SHELL GRAMMAR, stores a series of commands for
シェル関数は、上記の''SHELL GRAMMAR''で説明したように定義され、後で実行するための一連のコマンドを格納する。 シェル関数の名前が単純なコマンド名として使用されると、その関数名に関連付けられたコマンドのリストが実行される。 関数は現在のシェルのコンテキストで実行され、関数を解釈するために新しいプロセスが作成されることはない(シェルスクリプトの実行とは対照的である)。 関数が実行されると、関数の引数は実行中の位置パラメーターとなる。 特殊パラメータ#は、変更を反映して更新される。 特別パラメータ0は変更されない。 FUNCNAME変数の最初の要素は、関数の実行中に関数名に設定される。
      later execution.  When the name of a shell function is used as a simple command name, the list of
      commands  associated  with that function name is executed.  Functions are executed in the context
      of the current shell; no new process is created to interpret them (contrast this with the  execu‐
      tion  of  a shell script).  When a function is executed, the arguments to the function become the
      positional parameters during its execution.  The special parameter # is updated  to  reflect  the
      change.  Special parameter 0 is unchanged. The first element of the FUNCNAME variable is set to
      the name of the function while the function is executing.


      All other aspects of the shell execution environment are identical between  a  function  and  its
シェル実行環境の他のすべての側面は、これらの例外を除いて、関数とその呼び出し元との間で同一である: DEBUG トラップおよび RETURN トラップ(後述の [[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]] にある trap 組み込み関数の説明を参照)は、関数に trace 属性が与えられているか(後述の declare 組み込み関数の説明を参照)、set 組み込み関数で -o functrace シェル・オプションが有効になっていない限り継承されず(この場合、すべての関数は DEBUG トラップおよび RETURN トラップを継承する)、ERR トラップは -o errtrace シェル・オプションが有効になっていない限り継承されない。
      caller with these exceptions: the DEBUG and RETURN traps (see the description of the trap builtin
      under SHELL BUILTIN COMMANDS below) are not inherited unless the  function  has  been  given  the
      trace attribute (see the description of the declare builtin below) or the -o functrace shell op‐
      tion has been enabled with the set builtin (in which case all functions inherit the DEBUG and RE‐
      TURN  traps),  and the ERR trap is not inherited unless the -o errtrace shell option has been en‐
      abled.


      Variables local to the function may be declared with  the  local  builtin  command.  Ordinarily,
関数にローカルな変数は、local builtin コマンドで宣言することができる。 通常、変数とその値は、関数とその呼び出し元との間で共有される。 ローカル変数が宣言された場合、その変数の可視スコープはその関数とその子関数(その関数が呼び出す関数を含む)に限定される。 ローカル変数は、以前のスコープで宣言された同名の変数を「シャドウ」する。 例えば、関数内で宣言されたローカル変数は、同名のグローバル変数を隠蔽する。参照と代入はローカル変数を参照し、グローバル変数は変更されないままである。 関数が戻ると、グローバル変数は再び見えるようになる。
      variables  and their values are shared between the function and its caller.  If a variable is de‐
      clared local, the variable's visible scope is restricted to that function and its  children  (in‐
      cluding  the functions it calls).  Local variables "shadow" variables with the same name declared
      at previous scopes.  For instance, a local variable declared in a function hides a  global  vari‐
      able of the same name: references and assignments refer to the local variable, leaving the global
      variable unmodified.  When the function returns, the global variable is once again visible.


      The shell uses dynamic scoping to control a variable's visibility within functions.  With dynamic
シェルは動的スコープを使用して、関数内の変数の可視性を制御する。 動的スコープでは、可視変数とその値は、実行が現在の関数に到達する原因となった一連の関数呼び出しの結果である。 関数が目にする変数の値は、呼び出し元が「グローバル」スコープであるか、別のシェル関数であるかにかかわらず、呼び出し元での値に依存する。 これは、ローカル変数宣言が''shadow''する値でもあり、関数が戻ったときに復元される値でもある。
      scoping,  visible  variables and their values are a result of the sequence of function calls that
      caused execution to reach the current function.  The value of a variable that a function sees de‐
      pends  on  its  value within its caller, if any, whether that caller is the "global" scope or an‐
      other shell function.  This is also the value that a local variable  declaration  "shadows",  and
      the value that is restored when the function returns.


      For  example,  if  a variable var is declared as local in function func1, and func1 calls another
例えば、ある変数varが関数func1内でローカル変数として宣言され、func1が別の関数func2を呼び出した場合、func2内からのvarへの参照はfunc1のローカル変数varに解決され、varという名前のグローバル変数はshadowされる。
      function func2, references to var made from within func2 will resolve to the local  variable  var
      from func1, shadowing any global variable named var.


      The  unset  builtin also acts using the same dynamic scope: if a variable is local to the current
unset組み込み関数も、同じダイナミック・スコープを使用して動作する。変数が現在のスコープにローカルな場合、unsetはそれをアンセットする。そうでない場合、unsetは上記のように、呼び出し元のスコープで見つかった変数を参照する。 現在のローカルスコープにある変数がアンセットされた場合、そのスコープでリセットされるか、関数がリターンするまでアンセットのままである。 関数が戻ると、以前のスコープにあったその変数のインスタンスが見えるようになる。 アンセットが前のスコープにある変数に作用した場合、シャドウされていたその名前の変数のインスタンスはすべて見えるようになる。
      scope, unset will unset it; otherwise the unset will refer to the variable found in  any  calling
      scope  as  described above.  If a variable at the current local scope is unset, it will remain so
      until it is reset in that scope or until the function returns.  Once the  function  returns,  any
      instance  of  the variable at a previous scope will become visible.  If the unset acts on a vari‐
      able at a previous scope, any instance of a variable with that name that had been  shadowed  will
      become visible.


      The FUNCNEST variable, if set to a numeric value greater than 0, defines a maximum function nest‐
FUNCNEST変数に0以上の数値を設定すると、関数の最大入れ子レベルが定義される。 この制限を超えた関数呼び出しは、コマンド全体を中断させる。
      ing level.  Function invocations that exceed the limit cause the entire command to abort.


      If the builtin command return is executed in a function, the function completes and execution re‐
組み込みコマンドreturnが関数内で実行された場合、関数は完了し、関数呼び出しの次のコマンドで実行が再開される。 RETURNトラップに関連付けられたコマンドは、実行が再開される前に実行される。 関数が完了すると、位置パラメータと特殊パラメータ#の値は、関数実行前の値に戻される。
      sumes with the next command after the function call.  Any command associated with the RETURN trap
      is executed before execution resumes.  When a function completes, the values  of  the  positional
      parameters  and  the  special  parameter # are restored to the values they had prior to the func‐
      tion's execution.


      Function names and definitions may be listed with the -f option to the declare or typeset builtin
関数名と定義は、declareまたはtypeset組み込みコマンドの-fオプションでリストすることができる。  declareまたはtypesetの-Fオプションは、関数名のみをリストアップする(extdebugシェル・オプションが有効な場合は、オプションでソース・ファイルと行番号もリストアップされる)。 関数は、export 組み込み関数に -f オプションを付けることで、サブシェルに自動的に定義されるようにエクスポートできる。 関数の定義を削除するには、unset 組み込み関数の -f オプションを使用する。
      commands.  The -F option to declare or typeset will list the function names only (and optionally
      the source file and line number, if the extdebug shell option is enabled).  Functions may be  ex‐
      ported  so  that  subshells  automatically  have  them  defined  with the -f option to the export
      builtin.  A function definition may be deleted using the -f option to the unset builtin.


      Functions may be recursive.  The FUNCNEST variable may be used to limit the depth of the function
関数は再帰的に使用できる。 FUNCNEST 変数を使用して、関数呼び出しスタックの深さを制限し、関数の呼び出し回数を制限することができる。 デフォルトでは、再帰呼び出しの回数に制限はない。
      call  stack  and restrict the number of function invocations.  By default, no limit is imposed on
      the number of recursive calls.


== ARITHMETIC EVALUATION ==
== ARITHMETIC EVALUATION ==
      The shell allows arithmetic expressions to be evaluated, under certain circumstances (see the let
シェルでは、特定の条件下で算術式を評価することができる(letおよびdeclare組み込みコマンド、(( 複合コマンド、算術展開参照)。 評価は固定幅の整数で行われ、オーバーフローのチェックは行われないが、0による除算はトラップされ、エラーとしてフラグが立てられる。 演算子とその優先順位、連想順位、値はC言語と同じである。 以下の演算子のリストは、等しい優先順位の演算子のレベルにグループ化されている。 レベルは優先順位の低い順に並んでいる。
      and  declare builtin commands, the (( compound command, and Arithmetic Expansion).  Evaluation is
      done in fixed-width integers with no check for overflow, though division  by  0  is  trapped  and
      flagged  as an error.  The operators and their precedence, associativity, and values are the same
      as in the C language.  The following list of operators is grouped into levels of equal-precedence
      operators.  The levels are listed in order of decreasing precedence.


       id++ id--
       id++ id--
Line 1,132: Line 1,047:
               comma
               comma


      Shell  variables  are allowed as operands; parameter expansion is performed before the expression
式が評価される前にパラメータ展開が行われる。 式中では、パラメータ展開構文を使わずにシェル変数を名前で参照することもできる。 NULLまたは未設定のシェル変数は、パラメータ展開構文を使わずに名前で参照すると0と評価される。 変数の値は、その変数が参照されたとき、または declare -i を使って整数属性を与えられた変数に値が割り当てられたときに、算術式として評価される。 シェル変数は、式で使用するために整数属性をオンにする必要はない。
      is evaluated.  Within an expression, shell variables may also be referenced by name without using
      the  parameter expansion syntax.  A shell variable that is null or unset evaluates to 0 when ref‐
      erenced by name without using the parameter expansion syntax.  The value of a variable is  evalu‐
      ated  as  an arithmetic expression when it is referenced, or when a variable which has been given
      the integer attribute using declare -i is assigned a value.  A null  value  evaluates  to  0.  A
      shell variable need not have its integer attribute turned on to be used in an expression.


      Integer  constants  follow  the  C  language definition, without suffixes or character constants.
整数定数はC言語の定義に従うが、接尾辞や文字定数は付けない。
      Constants with a leading 0 are interpreted as octal numbers.  A leading 0x or 0X denotes hexadec‐
先頭に0を持つ定数は、8進数として解釈される。 先頭の0xまたは0Xは16進数を表す。 それ以外の場合、数値は<nowiki>[base#]n</nowiki>の形をとる。オプションのbaseは算術基底を表す2から64までの10進数で、nはその基底の数値である。 base#が省略された場合は、10進数が使用される。 nを指定する際、数字以外が必要な場合は、9より大きい数字を小文字、大文字、@、_の順で表す。
      imal.  Otherwise, numbers take the form [base#]n, where the optional base is a decimal number be‐
基数が36以下の場合、小文字と大文字を入れ替えて10以上35以下の数字を表すことができる。
      tween 2 and 64 representing the arithmetic base, and n is a number in that  base.  If base# is
      omitted, then base 10 is used.  When specifying n, if a non-digit is required, the digits greater
      than 9 are represented by the lowercase letters, the uppercase letters, @, and _, in that  order.
      If  base is less than or equal to 36, lowercase and uppercase letters may be used interchangeably
      to represent numbers between 10 and 35.


      Operators are evaluated in order of precedence.  Sub-expressions  in  parentheses  are  evaluated
演算子は優先順位の高い順に評価される。 括弧内の部分式は最初に評価され、上記の優先順位の規則を上書きすることができる。
      first and may override the precedence rules above.


== CONDITIONAL EXPRESSIONS ==
== CONDITIONAL EXPRESSIONS ==
      Conditional  expressions  are used by the [[ compound command and the test and [ builtin commands
条件式は、<nowiki>[[</nowiki> 複合コマンド、test および [ 組み込みコマンドで使用され、ファイル属性のテストや文字列比較、算術比較を実行する。 testコマンドと<nowiki>[</nowiki> コマンドは、引数の数に基づいて動作を決定する。その他のコマンド固有の動作については、これらのコマンドの説明を参照のこと。
      to test file attributes and perform string and arithmetic comparisons.  The test and  [ commands
      determine their behavior based on the number of arguments; see the descriptions of those commands
      for any other command-specific actions.


      Expressions are formed from the following unary or binary primaries.  Bash handles several  file‐
式は、以下の単項または二項のプライマリから形成される。 Bashは、いくつかのファイル名が式の中で使われている場合、それらを特別に扱う。 bashが動作しているオペレーティング・システムがこれらの特別なファイルを提供している場合、bashはそれらを使用する: プライマリの1つのファイル引数が/dev/fd/nの場合、ファイル記述子nがチェックされる。 プライマリへのファイル引数が /dev/stdin、/dev/stdout、/dev/stderr のいずれかである場合、 それぞれファイル記述子 0、1、2 がチェックされる。
      names specially when they are used in expressions.  If the operating system on which bash is run‐
      ning provides these special files, bash will use them; otherwise it will emulate them  internally
      with  this  behavior: If any file argument to one of the primaries is of the form /dev/fd/n, then
      file descriptor n is checked.  If the file argument to one of the primaries is one of /dev/stdin,
      /dev/stdout, or /dev/stderr, file descriptor 0, 1, or 2, respectively, is checked.


      Unless  otherwise specified, primaries that operate on files follow symbolic links and operate on
特に指定がない限り、ファイルを操作するプライマリはシンボリックリンクに従い、リンクそのものではなくリンク先を操作する。
      the target of the link, rather than the link itself.


      When used with [[, the < and > operators sort lexicographically using the  current locale.  The
<nowiki>[[</nowiki>と一緒に使うと、<nowiki><[</nowiki> 演算子と <nowiki>></nowiki> 演算子は、現在のロケールを使って辞書順にソートする。 testコマンドはASCII順序でソートする。
      test command sorts using ASCII ordering.


      -a file
:;-a file
              True if file exists.
::ファイルが存在するならば True
      -b file
:;-b file
              True if file exists and is a block special file.
::ファイルが存在し、ブロックスペシャルファイルならば True
      -c file
:;-c file
              True if file exists and is a character special file.
::ファイルが存在し、キャラクタースペシャルファイルならば True
      -d file
:;-d file
              True if file exists and is a directory.
::ファイルが存在し、ディレクトリーならば True
      -e file
:;-e file
              True if file exists.
::ファイルが存在するならば True
      -f file
:;-f file
              True if file exists and is a regular file.
::ファイルが存在し、、レギュラーファイルならば True
      -g file
:;-g file
              True if file exists and is set-group-id.
::ファイルが存在し set-group-id ならば True
      -h file
:;-h file
              True if file exists and is a symbolic link.
::ファイルが存在し、シンボリックリンクならば True
      -k file
:;-k file
              True if file exists and its ``sticky'' bit is set.
::ファイルが存在し、その``sticky'' ビットがセットされているならば True
      -p file
:;-p file
              True if file exists and is a named pipe (FIFO).
::ファイルが存在しファイルが存在し、名前付きパイプ(FIFO)であれば True
      -r file
:;-r file
              True if file exists and is readable.
::ファイルが存在し、readableであれば True
      -s file
:;-s file
              True if file exists and has a size greater than zero.
::ファイルが存在し、0より大きいファイルサイズであれば True
      -t fd  True if file descriptor fd is open and refers to a terminal.
:;-t fd   
      -u file
::ファイル記述子fdがオープンされていて、端末を参照していれば True
              True if file exists and its set-user-id bit is set.
:;-u file
      -w file
::ファイルが存在し、その set-user-id bitがセットされていれば True
              True if file exists and is writable.
:;-w file
      -x file
::ファイルが存在し、writableであるならば True
              True if file exists and is executable.
:;-x file
      -G file
::ファイルが存在し、executableであるならば True
              True if file exists and is owned by the effective group id.
:;-G file
      -L file
::ファイルが存在し、有効なグループIDが所有していれば、True
              True if file exists and is a symbolic link.
:;-L file
      -N file
::ファイルが存在し、シンボリックリンクであれば、True
              True if file exists and has been modified since it was last read.
:;-N file
      -O file
::ファイルが存在し、最後に読み込まれてから変更されていれば True
              True if file exists and is owned by the effective user id.
:;-O file
      -S file
::ファイルが存在し、有効なユーザIDに所有されていれば True
              True if file exists and is a socket.
:;-S file
      file1 -ef file2
::ファイルが存在し、ソケットであれば True
              True if file1 and file2 refer to the same device and inode numbers.
:;file1 -ef file2
      file1 -nt file2
::file1とfile2が、同じデバイスとinode番号に参照されていれば True
              True if file1 is newer (according to modification date) than file2, or if file1 exists and
:;file1 -nt file2
              file2 does not.
::file1がfile2より(更新日付に従って)新しい場合、またはfile1が存在しfile2が存在しない場合、True
      file1 -ot file2
:;file1 -ot file2
              True if file1 is older than file2, or if file2 exists and file1 does not.
::file1がfile2より古い場合、またはfile2が存在しfile1が存在しない場合に True
      -o optname
:;-o optname
              True if the shell option optname is enabled.  See the list of options under  the  descrip‐
::シェル・オプション optname が有効なら True。以下のset組み込み関数の-oオプションの説明の下にあるオプションのリストを参照のこと。
              tion of the -o option to the set builtin below.
:;-v varname
      -v varname
::シェル変数varnameが設定されている(値が割り当てられている)場合は True
              True if the shell variable varname is set (has been assigned a value).
:;-R varname
      -R varname
::シェル変数 varname が設定されていて、名前参照であれば True
              True if the shell variable varname is set and is a name reference.
:;-z string
      -z string
::文字列の長さが 0であれば True
              True if the length of string is zero.
:;string
      string
:;-n string
      -n string
::文字列の長さが 0以外であれば True
              True if the length of string is non-zero.


      string1 == string2
:;string1 == string2
      string1 = string2
:;string1 = string2
              True  if  the strings are equal.  = should be used with the test command for POSIX confor‐
::POSIXに準拠するためには、testコマンドと一緒に使う必要がある。 <nowiki>[[</nowiki>コマンドと一緒に使うと、上記の([[#Compound Commands|Compound Commands ]])で説明したパターンマッチングを行う。
              mance.  When used with the [[ command, this performs pattern matching as  described  above
              (Compound Commands).


      string1 != string2
:;string1 != string2
              True if the strings are not equal.
::文字列が等しくなければ True


      string1 < string2
:;string1 < string2
              True if string1 sorts before string2 lexicographically.
::文字列1が文字列2より辞書順に先にソートされていれば True


      string1 > string2
:;string1 > string2
              True if string1 sorts after string2 lexicographically.
::文字列1が文字列2の後に辞書式にソートされていれば True


      arg1 OP arg2
:;arg1 OP arg2
              OP  is  one  of -eq, -ne, -lt, -le, -gt, or -ge.  These arithmetic binary operators return
::OPは-eq、-ne、-lt、-le、-gt、-geのいずれかである。これらの算術二項演算子は、それぞれ arg1 arg2 と等しい、等しくない、未満、以下、以上、または以上の場合に true を返します。arg1とarg2は、正または負の整数である。<nowiki>[[</nowiki>コマンドと併用すると、Arg1とArg2は算術式として評価される(上記の[[#ARITHMETIC EVALUATION|ARITHMETIC EVALUATION ]]を参照)。
              true if arg1 is equal to, not equal to, less than, less than or equal to, greater than, or
              greater  than  or  equal to arg2, respectively.  Arg1 and arg2 may be positive or negative
              integers.  When used with the [[ command, Arg1 and Arg2 are evaluated  as  arithmetic  ex‐
              pressions (see ARITHMETIC EVALUATION above).


== SIMPLE COMMAND EXPANSION ==
== SIMPLE COMMAND EXPANSION ==
      When  a simple command is executed, the shell performs the following expansions, assignments, and
単純なコマンドが実行されると、シェルは以下の展開、代入、リダイレクションを左から順に実行する。
      redirections, from left to right, in the following order.


      1.    The words that the parser has marked as variable assignments (those preceding the  command
#パーサーが変数代入としてマークした単語(コマンド名の前にあるもの)とリダイレクションは、後の処理のために保存される。
              name) and redirections are saved for later processing.
#変数代入やリダイレクションでない単語は展開される。 展開後も単語が残っている場合、最初の単語はコマンド名とみなされ、それ以降の単語は引数となる。
#リダイレクションは上記の[[#REDIRECTION|REDIRECTION ]]の説明に従って実行される。
#各変数代入の=の後のテキストは、変数に代入される前に、チルダ展開、パラメータ展開、コマンド置換、算術展開、引用符除去を受ける。


      2.    The words  that  are not variable assignments or redirections are expanded.  If any words
コマンド名の結果がない場合、変数への代入は現在のシェル環境に影響する。 そうでなければ、変数は実行されたコマンドの環境に追加され、現在のシェル環境には影響しない。 代入のいずれかが読み取り専用変数に値を代入しようとした場合、エラーが発生し、コマンドは0以外のステータスで終了する。
              remain after expansion, the first word is taken to be the name of the command and the  re‐
              maining words are the arguments.


      3.    Redirections are performed as described above under REDIRECTION.
コマンド名の結果が得られない場合、リダイレクションが実行されるが、現在のシェル環境には影響しない。 リダイレクション・エラーは、コマンドをゼロ以外のステータスで終了させる。


      4.    The  text after the = in each variable assignment undergoes tilde expansion, parameter ex‐
展開後にコマンド名が残っている場合、以下の説明に従って実行が進められる。 そうでなければ、コマンドは終了する。 展開のいずれかにコマンド置換が含まれていた場合、コマンドの終了ステータスは、最後に実行されたコマンド置換の終了ステータスになる。 コマンド置換がなかった場合、コマンドの終了ステータスは0である。
              pansion, command substitution, arithmetic expansion, and quote removal  before  being  as‐
              signed to the variable.
 
      If  no command name results, the variable assignments affect the current shell environment.  Oth‐
      erwise, the variables are added to the environment of the executed command and do not affect  the
      current  shell  environment.  If any of the assignments attempts to assign a value to a readonly
      variable, an error occurs, and the command exits with a non-zero status.
 
      If no command name results, redirections are performed, but do not affect the current shell envi‐
      ronment.  A redirection error causes the command to exit with a non-zero status.
 
      If  there  is a command name left after expansion, execution proceeds as described below.  Other‐
      wise, the command exits.  If one of the expansions contained a  command  substitution,  the  exit
      status  of  the  command is the exit status of the last command substitution performed.  If there
      were no command substitutions, the command exits with a status of zero.


== COMMAND EXECUTION ==
== COMMAND EXECUTION ==
      After a command has been split into words, if it results in a simple command and an optional list
コマンドが単語に分割された後、それが単純なコマンドとオプションの引数リストになる場合、以下のアクションが実行される。
      of arguments, the following actions are taken.


      If  the  command  name  contains  no slashes, the shell attempts to locate it.  If there exists a
コマンド名にスラッシュが含まれていない場合、シェルはそのコマンドを探そうとする。 その名前のシェル関数が存在する場合、その関数は上記の[[#FUNCTIONS|FUNCTIONS ]]で説明したように呼び出される。 その名前が関数と一致しない場合、シェルはシェル組み込み関数のリストからその関数を検索する。 一致するものが見つかれば、その組み込み関数が呼び出される。
      shell function by that name, that function is invoked as described above in  FUNCTIONS.  If  the
      name  does  not  match a function, the shell searches for it in the list of shell builtins. If a
      match is found, that builtin is invoked.


      If the name is neither a shell function nor a builtin, and contains  no  slashes,  bash  searches
名前がシェル関数でもビルトインでもなく、スラッシュを含まない場合、bashは'''PATH'''の各要素からその名前の実行可能ファイルを含むディレクトリを検索する。 Bashは、実行可能ファイルのフルパス名を記憶するためにハッシュテーブルを使用する(以下の「シェル組み込みコマンド」の「ハッシュ」を参照)。  PATH内のディレクトリの完全な検索は、ハッシュテーブルでコマンドが見つからなかった場合にのみ実行される。 検索に失敗した場合、シェルはcommand_not_found_handleという名前の定義されたシェル関数を検索する。 その関数が存在する場合、元のコマンドと元のコマンドの引数を引数として別の実行環境で呼び出され、その関数の終了ステータスがそのサブシェルの終了ステータスになる。 その関数が定義されていない場合、シェルはエラー・メッセージを表示し、終了ステータス127を返す。
      each element of the PATH for a directory containing an executable file by that name.  Bash uses a
      hash table to remember the full pathnames of executable files (see hash under SHELL BUILTIN  COM‐
      MANDS  below).  A full search of the directories in PATH is performed only if the command is not
      found in the hash table.  If the search is unsuccessful, the shell searches for a  defined  shell
      function  named  command_not_found_handle.  If that function exists, it is invoked in a separate
      execution environment with the original command and the original command's arguments as its argu‐
      ments, and the function's exit status becomes the exit status of that subshell. If that function
      is not defined, the shell prints an error message and returns an exit status of 127.


      If the search is successful, or if the command name contains one or more slashes, the shell  exe‐
検索に成功した場合、またはコマンド名に1つ以上のスラッシュが含まれている場合、シェルは指定されたプログラムを別の実行環境で実行する。 引数0は与えられた名前に設定され、コマンドの残りの引数は、もしあれば与えられた引数に設定される。
      cutes  the  named  program  in  a  separate execution environment.  Argument 0 is set to the name
      given, and the remaining arguments to the command are set to the arguments given, if any.


      If this execution fails because the file is not in executable format, and the file is not  a  di‐
ファイルが実行可能形式でなく、ファイルがディレクトリでないためにこの実行が失敗した場合、それはシェルスクリプト(シェルコマンドを含むファイル)であると仮定される。 それを実行するためにサブシェルが生成される。 このサブシェルは自分自身を再初期化するので、あたかも新しいシェルがスクリプトを処理するために呼び出されたかのような効果が得られるが、例外として、親が記憶しているコマンドの位置(後述の[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]のハッシュを参照)は子シェルに保持される。
      rectory,  it  is  assumed  to be a shell script, a file containing shell commands.  A subshell is
      spawned to execute it.  This subshell reinitializes itself, so that the effect is  as  if  a  new
      shell  had  been  invoked to handle the script, with the exception that the locations of commands
      remembered by the parent (see hash below under SHELL BUILTIN COMMANDS) are retained by the child.


      If the program is a file beginning with #!, the remainder of the first line specifies  an  inter‐
プログラムが<nowiki>#!</nowiki>で始まるファイルである場合、最初の行の残りはプログラムのインタープリタを指定する。 シェルは、この実行形式を扱わないオペレーティングシステム上で、指定されたインタプリタを実行する。 インタプリタへの引数は、プログラムの1行目のインタプリタ名に続く1つのオプション引数、プログラム名、コマンド引数(もしあれば)の順で構成される。
      preter  for  the program.  The shell executes the specified interpreter on operating systems that
      do not handle this executable format themselves.  The arguments to the interpreter consist  of  a
      single  optional  argument  following the interpreter name on the first line of the program, fol‐
      lowed by the name of the program, followed by the command arguments, if any.


== COMMAND EXECUTION ENVIRONMENT ==
== COMMAND EXECUTION ENVIRONMENT ==
      The shell has an execution environment, which consists of the following:
シェルは以下の実行環境を持つ:
 
      •      open files inherited by the shell at invocation, as modified by redirections  supplied  to
              the exec builtin
 
      •      the  current  working directory as set by cd, pushd, or popd, or inherited by the shell at
              invocation
 
      •      the file creation mode mask as set by umask or inherited from the shell's parent
 
      •      current traps set by trap
 
      •      shell parameters that are set by variable assignment or with set  or  inherited  from  the
              shell's parent in the environment
 
      •      shell functions defined during execution or inherited from the shell's parent in the envi‐
              ronment
 
      •      options enabled at invocation (either by default or with command-line arguments) or by set
 
      •      options enabled by shopt
 
      •      shell aliases defined with alias
 
      •      various process IDs, including those of background jobs, the value of $$, and the value of
              PPID
 
      When  a simple command other than a builtin or shell function is to be executed, it is invoked in
      a separate execution environment that consists of the following.  Unless  otherwise  noted,  the
      values are inherited from the shell.
 
      •      the  shell's open files, plus any modifications and additions specified by redirections to
              the command


      •      the current working directory
* 起動時にシェルに継承されるオープンファイル、および exec 組み込み関数に供給されるリダイレクションによって変更されるオープンファイル。
* cd、pushd、または popd によって設定されるか、起動時にシェルによって継承されるカレント作業ディレクトリ。
umaskによって設定されるか、シェルの親から継承されるファイル作成モードマスク
* trapによって設定される現在のトラップ
* 変数代入またはsetで設定された、またはシェルの親から継承された 環境中のシェルパラメータ
* 実行中に定義された、またはシェル親環境から継承されたシェル関数
* (デフォルトまたはコマンドライン引数で)起動時に有効化されるオプション、 または set で有効化されるオプション。
* shoptで有効になるオプション
* aliasで定義されたシェルのエイリアス
* バックグラウンド・ジョブ、$$の値、PPIDの値を含む様々なプロセスID


      •      the file creation mode mask
組み込み関数やシェル関数以外の単純なコマンドを実行する場合、そのコマンドは、以下から構成 される別の実行環境で起動される。  特に断りのない限り、値はシェルから継承される。


      •      shell variables and functions marked for export, along with  variables  exported  for  the
* シェルの開いているファイルと、コマンドへのリダイレクトによって指定された変更と追加。
              command, passed in the environment
* 現在の作業ディレクトリ
* ファイル作成モードのマスク
* コマンド用にエクスポートされた変数と一緒に、エクスポート用にマークされたシェル変数と関数が環境で渡される。
* シェルによって捕捉されたトラップは、シェルの親から継承された値にリセットされ、シェルによって無視されたトラップは無視される。


      •      traps  caught  by the shell are reset to the values inherited from the shell's parent, and
この別の環境で起動されたコマンドは、シェルの実行環境に影響を与えることはできない。
              traps ignored by the shell are ignored


      A command invoked in this separate environment cannot affect the shell's execution environment.
コマンド置換、括弧でグループ化されたコマンド、および非同期コマンドは、シェルによって捕捉されたトラップが、シェルが起動時に親から継承した値にリセットされることを除いて、シェル環境の複製であるサブシェル環境で起動される。
パイプラインの一部として呼び出される組み込みコマンドも、サブシェル環境で実行される。 サブシェル環境に加えられた変更は、シェルの実行環境に影響しない。


      Command substitution, commands grouped with parentheses, and asynchronous commands are invoked in
コマンド置換を実行するために生成されたサブシェルは、親シェルから -e オプションの値を継承する。 posix モードでない場合、bash はそのようなサブシェルで -e オプションをクリアする。
      a  subshell environment that is a duplicate of the shell environment, except that traps caught by
      the shell are reset to the values that  the  shell  inherited  from  its  parent  at  invocation.
      Builtin  commands that are invoked as part of a pipeline are also executed in a subshell environ‐
      ment.  Changes made to the subshell environment cannot affect the shell's execution environment.


      Subshells spawned to execute command substitutions inherit the value of the -e  option  from  the
コマンドの後に&が続き、ジョブ制御がアクティブでない場合、コマンドのデフォルト標準入力は空のファイル<u>/dev/null</u>になる。 それ以外の場合、呼び出されたコマンドは、リダイレクトによって変更された呼び出し元のシェルのファイル記述子を継承する。
      parent shell.  When not in posix mode, bash clears the -e option in such subshells.
 
      If a command is followed by a & and job control is not active, the default standard input for the
      command is the empty file /dev/null.  Otherwise, the invoked command inherits the  file  descrip‐
      tors of the calling shell as modified by redirections.


== ENVIRONMENT ==
== ENVIRONMENT ==
      When a program is invoked it is given an array of strings called the environment.  This is a list
プログラムが起動されると、環境と呼ばれる文字列の配列が与えられる。 これはname=valueという形式の名前と値のペアのリストである。
      of name-value pairs, of the form name=value.


      The shell provides several ways to manipulate the environment.  On invocation,  the  shell  scans
シェルは環境を操作するいくつかの方法を提供する。 起動時にシェルは自身の環境をスキャンし、見つかった名前ごとにパラメータを作成し、子プロセスにエクスポートするように自動的にマークする。 実行されたコマンドは環境を継承する。 exportコマンドとdeclare -xコマンドにより、パラメータや関数を環境に追加したり、環境から削除したりすることができる。 環境内のパラメータの値が変更されると、新しい値が環境の一部となり、古い値を置き換える。 実行されたコマンドによって継承される環境は、シェルの初期環境からなり、その値はシェルで変更することができ、unsetコマンドで削除されたペアと、exportコマンドとdeclare -xコマンドで追加されたペアが含まれる。
      its own environment and creates a parameter for each name found, automatically marking it for ex‐
      port to child processes.  Executed commands inherit the environment.  The export and  declare  -x
      commands  allow parameters and functions to be added to and deleted from the environment.  If the
      value of a parameter in the environment is modified, the new value becomes part of  the  environ‐
      ment,  replacing  the  old.  The  environment inherited by any executed command consists of the
      shell's initial environment, whose values may be modified in the shell, less any pairs removed by
      the unset command, plus any additions via the export and declare -x commands.


      The  environment  for any simple command or function may be augmented temporarily by prefixing it
単純なコマンドや関数の環境は、上記の[[#PARAMETERS|PARAMETERS ]]で説明されているように、パラメータ割り当てを前に置くことで一時的に拡張することができる。 これらの代入文は、そのコマンドが見る環境だけに影響する。
      with parameter assignments, as described above in PARAMETERS.  These assignment statements affect
      only the environment seen by that command.


      If  the  -k option is set (see the set builtin command below), then all parameter assignments are
<nowiki>-k</nowiki>オプションが設定されている場合(後述のset builtinコマンドを参照)、コマンド名の前にあるものだけでなく、すべてのパラメータ割り当てがコマンドの環境に置かれる。
      placed in the environment for a command, not just those that precede the command name.


      When bash invokes an external command, the variable _ is set to the full filename of the  command
bashが外部コマンドを呼び出すと、変数_にコマンドの完全なファイル名が設定され、そのコマンドの環境に渡される。
      and passed to that command in its environment.


== EXIT STATUS ==
== EXIT STATUS ==
      The exit status of an executed command is the value returned by the waitpid system call or equiv‐
実行されたコマンドの終了ステータスは、waitpidシステムコールまたは同等の関数が返す値である。 終了ステータスは0から255の間であるが、以下で説明するように、シェルは特別に125以上の値を使用することがある。 シェル組み込み関数と複合コマンドの終了ステータスもこの範囲に制限される。 特定の状況下では、シェルは特定の失敗モードを示すために特別な値を使用する。
      alent function.  Exit statuses fall between 0 and 255, though, as explained below, the shell  may
      use values above 125 specially.  Exit statuses from shell builtins and compound commands are also
      limited to this range.  Under certain circumstances, the shell will use special values  to  indi‐
      cate specific failure modes.


      For  the  shell's purposes, a command which exits with a zero exit status has succeeded.  An exit
シェルの目的上、終了ステータスが0で終了するコマンドは成功したことになる。 ゼロの終了ステータスは成功を示す。 ゼロ以外の終了ステータスは失敗を示す。 致命的シグナルNでコマンドが終了する場合、bashは128+Nの値を終了ステータスとして使用する。
      status of zero indicates success.  A non-zero exit status indicates failure.  When a command ter‐
      minates on a fatal signal N, bash uses the value of 128+N as the exit status.


      If a command is not found, the child process created to execute it returns a status of 127.  If a
コマンドが見つからない場合、そのコマンドを実行するために作成された子プロセスは127のステータスを返す。 コマンドは見つかったが実行できない場合、ステータスは126となる。
      command is found but is not executable, the return status is 126.


      If a command fails because of an error during  expansion  or  redirection,  the  exit  status  is
展開中またはリダイレクト中のエラーによりコマンドが失敗した場合、終了ステータスは0より大きくなる。
      greater than zero.


      Shell  builtin commands return a status of 0 (true) if successful, and non-zero (false) if an er‐
シェル組み込みコマンドは、成功すれば0(真)のステータスを返し、実行中にエラーが発生すれば0以外(偽)のステータスを返す。 すべての組み込みコマンドは、不正な使用(通常は無効なオプションや引数の欠落)を示す終了ステータス2を返す。
      ror occurs while they execute.  All builtins return an exit status of 2 to indicate incorrect us‐
      age, generally invalid options or missing arguments.


      Bash  itself  returns the exit status of the last command executed, unless a syntax error occurs,
Bash自身は、構文エラーが発生しない限り、最後に実行したコマンドの終了ステータスを返し、その場合はゼロ以外の値で終了する。 以下のexit組み込みコマンドも参照のこと。
      in which case it exits with a non-zero value.  See also the exit builtin command below.


== SIGNALS ==
== SIGNALS ==
      When bash is interactive, in the absence of any traps, it ignores SIGTERM (so that  kill  0  does
bashが対話型の場合、トラップがなければSIGTERMは無視され(kill 0が対話型シェルを殺すことはない)、'''SIGINT'''はキャッチされて処理される(wait組み込み関数が割り込み可能になる)。 すべての場合において、bashは'''SIGQUIT'''を無視する。 ジョブ制御が有効な場合、bash は '''SIGTTIN'''、'''SIGTTOU'''、'''SIGTSTP''' を無視する。
      not kill an interactive shell), and SIGINT is caught and handled (so that the wait builtin is in‐
      terruptible).  In all cases, bash ignores SIGQUIT.  If job control is  in  effect,  bash  ignores
      SIGTTIN, SIGTTOU, and SIGTSTP.


      Non-builtin  commands  run  by bash have signal handlers set to the values inherited by the shell
bashが実行する非ビルティン・コマンドのシグナル・ハンドラは、シェルが親から継承した値に設定される。 ジョブ制御が有効でない場合、非同期コマンドは、これらの継承されたハンドラに加え、'''SIGINT'''と'''SIGQUIT'''も無視する。 コマンド置換の結果として実行されるコマンドは、キーボードから生成されるジョブ制御シグナル'''SIGTTIN'''、'''SIGTTOU'''、'''SIGTSTP'''を無視する。
      from its parent.  When job control is not in effect,  asynchronous  commands  ignore  SIGINT and
      SIGQUIT in  addition to these inherited handlers.  Commands run as a result of command substitu‐
      tion ignore the keyboard-generated job control signals SIGTTIN, SIGTTOU, and SIGTSTP.


      The shell exits by default upon receipt of a SIGHUP.  Before exiting, an  interactive  shell  re‐
シェルはデフォルトでは'''SIGHUP'''を受け取ると終了する。 終了する前に、対話型シェルは実行中または停止中のすべてのジョブに '''SIGHUP''' を再送する。 停止しているジョブは、'''SIGHUP''' を確実に受信するために '''SIGCONT''' が送られる。 シェルが特定のジョブにシグナルを送らないようにするには、 disown 組み込み関数でジョブテーブルからそのジョブを削除するか(後述の [[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]] を参照)、 disown -h を使って '''SIGHUP''' を受け取らないようにマークする必要がある。
      sends  the  SIGHUP to all jobs, running or stopped.  Stopped jobs are sent SIGCONT to ensure that
      they receive the SIGHUP.  To prevent the shell from sending the signal to a  particular  job,  it
      should  be removed from the jobs table with the disown builtin (see SHELL BUILTIN COMMANDS below)
      or marked to not receive SIGHUP using disown -h.


      If the huponexit shell option has been set with shopt, bash sends a SIGHUP to all  jobs  when  an
shoptでhuponexitシェルオプションが設定されている場合、対話型ログインシェルが終了すると、bashはすべてのジョブに'''SIGHUP'''を送信する。
      interactive login shell exits.


      If bash is waiting for a command to complete and receives a signal for which a trap has been set,
bashがコマンドの完了を待っているときに、トラップが設定されているシグナルを受信すると、コマンドが完了するまでトラップは実行されない。 bash wait 組み込み関数で非同期コマンドを待機している場合、トラップが設定されたシグナルを受信すると、wait 組み込み関数は直ちに 128 より大きい終了ステータスで戻り、その直後にトラップが実行される。
      the trap will not be executed until the command completes.  When bash is waiting for an asynchro‐
      nous  command  via the wait builtin, the reception of a signal for which a trap has been set will
      cause the wait builtin to return immediately with an exit status greater  than  128,  immediately
      after which the trap is executed.


== JOB CONTROL ==
== JOB CONTROL ==
      Job  control  refers  to the ability to selectively stop (suspend) the execution of processes and
ジョブ制御とは、プロセスの実行を選択的に停止(サスペンド)し、後の時点で実行を継続(レジューム)する機能のことである。 ユーザーは通常、オペレーティング・システム・カーネルのターミナル・ドライバとbashが共同で提供する対話型インターフェースを介してこの機能を使用する。
      continue (resume) their execution at a later point.  A user typically employs this  facility  via
      an  interactive  interface  supplied jointly by the operating system kernel's terminal driver and
      bash.


      The shell associates a job with each pipeline.  It keeps a table  of  currently  executing  jobs,
シェルは各パイプラインにジョブを関連付ける。 シェルは現在実行中のジョブのテーブルを保持し、jobsコマンドで一覧できる。 bashがジョブを非同期(バックグラウンド)で開始すると、次のような行が表示される:
      which  may  be listed with the jobs command.  When bash starts a job asynchronously (in the back‐
      ground), it prints a line that looks like:


              [1] 25647
:<nowiki>[1] 25647</nowiki>


      indicating that this job is job number 1 and that the process ID of the last process in the pipe‐
このジョブがジョブ番号 1 であり、このジョブに関連付けられたパイプラインの最後のプロセスのプロセス ID 25647 であることを示す。 1つのパイプライン内のすべてのプロセスは同じジョブのメンバーである。 Bashはジョブ制御の基礎としてジョブ抽象化を使用する。
      line associated with this job is 25647.  All of the processes in a single pipeline are members of
      the same job.  Bash uses the job abstraction as the basis for job control.


      To facilitate the implementation of the user interface to job control, the operating system main‐
ジョブ制御に対するユーザーインターフェースの実装を容易にするために、オペレーティングシステムは現在の端末プロセスグループIDという概念を保持している。 このプロセスグループのメンバー(プロセスグループIDが現在の端末プロセスグループIDと等しいプロセス)は、'''SIGINT'''のようなキーボードが生成するシグナルを受け取る。 これらのプロセスはフォアグラウンドにあると言われる。 バックグランドプロセスとは、プロセスグループIDが端末のものと異なるプロセスのことで、このようなプロセスはキーボードが生成するシグナルを受けない。 フォアグラウンド・プロセスだけが、端末からの読み取りや、 stty tostopでユーザーが指定した場合の端末への書き込みを許可される。 ターミナルからの読み込み(stty tostopが有効な場合はターミナルへの書き込み)を試みるバックグラウンド・プロセスは、カーネルのターミナル・ドライバによって'''SIGTTIN'''('''SIGTTOU''')シグナルが送られ、キャッチされない限り、プロセスは一時停止される。
      tains  the  notion  of  a current terminal process group ID.  Members of this process group (pro‐
      cesses whose process group ID is equal to the current terminal process  group  ID)  receive  key‐
      board-generated signals such as SIGINT.  These processes are said to be in the foreground.  Back‐
      ground processes are those whose process group ID differs from the terminal's; such processes are
      immune  to keyboard-generated signals.  Only foreground processes are allowed to read from or, if
      the user so specifies with stty tostop, write to the terminal.  Background  processes  which  at‐
      tempt  to  read  from  (write  to  when stty tostop is in effect) the terminal are sent a SIGTTIN
      (SIGTTOU) signal by the kernel's terminal driver, which, unless caught, suspends the process.


      If the operating system on which bash is running supports job control, bash contains  facilities
bashが動作しているオペレーティング・システムがジョブ制御をサポートしている場合、bashにはジョブ制御を使用するための機能が含まれている。 プロセスの実行中にサスペンド文字(通常は^Z、Control-Z)を入力すると、そのプロセスが停止し、制御がbashに戻る。 遅延サスペンド文字(通常は^Y、Control-Y)を入力すると、ターミナルから入力を読み込もうとしたときにプロセスが停止し、制御がbashに戻る。 その後、ユーザーはこのジョブの状態を操作することができ、 bgコマンドを使ってバックグラウンドで継続させたり、fgコマンドを使ってフォアグラウンドで継続させたり、 killコマンドを使って終了させたりすることができる。 Zは即座に有効になり、保留中の出力とtypeaheadが破棄されるという副次的な効果もある。
      to  use  it.  Typing  the suspend character (typically ^Z, Control-Z) while a process is running
      causes that process to be stopped and returns control to bash.  Typing the delayed suspend  char‐
      acter  (typically  ^Y, Control-Y) causes the process to be stopped when it attempts to read input
      from the terminal, and control to be returned to bash.  The user may then manipulate the state of
      this job, using the bg command to continue it in the background, the fg command to continue it in
      the foreground, or the kill command to kill it.  A ^Z takes effect immediately, and has the addi‐
      tional side effect of causing pending output and typeahead to be discarded.


      There  are  a  number  of  ways to refer to a job in the shell.  The character % introduces a job
シェルでジョブを参照する方法はいくつかある。 文字 % は、ジョブ仕様 (jobspec) を示す。 ジョブ番号nは%nと呼ばれる。 また、ジョブの開始時に使用される名前の接頭辞を使用したり、コマンドラインに現れる部分文字列を使用してジョブを参照することもできる。 例えば、%ce は、コマンド名が ce で始まる停止したジョブを指す。 接頭辞が複数のジョブにマッチした場合、bashはエラーを報告する。 一方、%?ceを使うと、コマンドラインにceという文字列を含むジョブを指す。 この部分文字列が複数のジョブにマッチすると、bashはエラーを報告する。 記号%%%+は、シェルが考える現在のジョブ(フォアグラウンドまたはバックグラウンドで起動中に停止した最後のジョブ)を指す。 前のジョブは %- を使って参照できる。 ジョブが1つしかない場合、%+%-の両方がそのジョブを指すのに使われる。 ジョブに関する出力(例えばjobsコマンドの出力)では、現在のジョブには常に+、前のジョブには-が付けられる。
      specification (jobspec).  Job number n may be referred to as %n.  A job may also be  referred  to
      using  a  prefix  of  the name used to start it, or using a substring that appears in its command
      line.  For example, %ce refers to a stopped job whose command name begins with ce.  If  a  prefix
      matches  more  than one job, bash reports an error.  Using %?ce, on the other hand, refers to any
      job containing the string ce in its command line.  If the substring matches more  than  one job,
      bash  reports  an  error.  The symbols %% and %+ refer to the shell's notion of the current job,
      which is the last job stopped while it was in the foreground or started in the background.  The
      previous  job  may  be referenced using %-.  If there is only a single job, %+ and %- can both be
      used to refer to that job.  In output pertaining to jobs (e.g., the output of the jobs  command),
      the  current  job is always flagged with a +, and the previous job with a -.  A single % (with no
      accompanying job specification) also refers to the current job.


      Simply naming a job can be used to bring it into the foreground: %1 is a synonym for  ``fg %1'',
1 ``fg %1'' の同義語で、バックグラウンドにあるジョブ 1 をフォアグラウンドにする。 同様に、%1 &''はジョブ1をバックグラウンドで再開し、`bg %1''と等価である。
      bringing job 1 from the background into the foreground.  Similarly, ``%1 &'' resumes job 1 in the
      background, equivalent to ``bg %1''.


      The shell learns immediately whenever a job changes state.  Normally,  bash  waits  until  it  is
シェルはジョブの状態が変わるとすぐにそれを知る。 通常、bashは他の出力を中断しないように、ジョブのステータスの変更を報告する前にプロンプトを表示するまで待つ。 set組み込みコマンドの-bオプションを有効にすると、bashはそのような変更を直ちに報告する。 '''SIGCHLD'''に対するトラップは、終了する子プロセスごとに実行される。
      about  to  print  a  prompt before reporting changes in a job's status so as to not interrupt any
      other output.  If the -b option to the set builtin command is enabled, bash reports such  changes
      immediately.  Any trap on SIGCHLD is executed for each child that exits.


      If  an attempt to exit bash is made while jobs are stopped (or, if the checkjobs shell option has
ジョブが停止中(または shopt 組み込みコマンドを使用して checkjobs シェル・オプションが有効になっている場合は実行中)に bash を終了しようとすると、シェルは警告メッセージを表示し、checkjobs オプションが有効になっている場合は、ジョブとそのステータスを一覧表示する。 その後、jobsコマンドを使用してステータスを調べることができる。 コマンドを介さずに2回目の終了が試みられた場合、シェルは警告を再度表示せず、停止しているジョブはすべて終了される。
      been enabled using the shopt builtin, running), the shell prints a warning message, and,  if  the
      checkjobs option  is  enabled,  lists the jobs and their statuses.  The jobs command may then be
      used to inspect their status.  If a second attempt to exit is made without  an  intervening  com‐
      mand, the shell does not print another warning, and any stopped jobs are terminated.


      When  the  shell  is  waiting for a job or process using the wait builtin, and job control is en‐
シェルがwait組み込み関数を使用してジョブまたはプロセスを待機しており、ジョブ制御が有効になっている場合、waitはジョブの状態が変化したときに戻る。fオプションを付けると、waitはジョブまたはプロセスが終了するまで待ってから戻るようになる。
      abled, wait will return when the job changes state. The -f option causes wait to wait  until  the
      job or process terminates before returning.


== PROMPTING ==
== PROMPTING ==
      When  executing  interactively,  bash  displays the primary prompt PS1 when it is ready to read a
対話的に実行する場合、bashはコマンドを読み込む準備ができたときにプライマリプロンプトPS1を表示し、コマンドを完了するためにさらに入力が必要なときにセカンダリプロンプトPS2を表示する。 Bashはコマンドを読み込んだ後、実行する前にPS0を表示する。 Bashは、-xオプションが有効な場合、各コマンドをトレースする前に上記のようにPS4を表示する。 Bashでは、バックスラッシュでエスケープされた特殊文字を挿入することで、これらのプロンプト文字列をカスタマイズすることができる:
      command, and the secondary prompt PS2 when it needs more input to complete a command.  Bash  dis‐
;\a    
      plays PS0 after it reads a command but before executing it.  Bash displays PS4 as described above
:ASCIIのベル文字(07)
      before tracing each command when the -x option is enabled.  Bash allows these prompt  strings  to
;\d     
      be  customized  by inserting a number of backslash-escaped special characters that are decoded as
:"Weekday Month Date"形式の日付(例:"Tue May 26")
      follows:
;\D{format}
              \a    an ASCII bell character (07)
:formatは'''[https://manpages.debian.org/unstable/manpages-dev/strftime.3.en.html strftime]'''(3)に渡され、その結果がプロンプト文字列に挿入される。 中括弧は必須である。
              \d    the date in "Weekday Month Date" format (e.g., "Tue May 26")
;\e     
              \D{format}
:ASCIIエスケープ文字(033)である。
                    the format is passed to strftime(3) and the result  is  inserted  into  the  prompt
;\h     
                    string; an  empty  format  results  in a locale-specific time representation.  The
:最初の`.'までのホスト名
                    braces are required
;\H     
              \e    an ASCII escape character (033)
:ホスト名
              \h    the hostname up to the first `.'
;\j     
              \H    the hostname
:shell が現在管理しているジョブ数
              \j    the number of jobs currently managed by the shell
;\l     
              \l    the basename of the shell's terminal device name
:シェルの端末デバイス名のベースネーム
              \n    newline
;\n     
              \r    carriage return
:改行する
              \s    the name of the shell, the basename of $0 (the portion following the final slash)
;\r     
              \t    the current time in 24-hour HH:MM:SS format
:キャリッジリターン
              \T    the current time in 12-hour HH:MM:SS format
;\s     
              \@    the current time in 12-hour am/pm format
:shell の名前、$0 のベースネーム(最後のスラッシュに続く部分)
              \A    the current time in 24-hour HH:MM format
;\t     
              \u    the username of the current user
:現在の時刻をHH:MM:SSの24時間形式で表示する。
              \v    the version of bash (e.g., 2.00)
;\T     
              \V    the release of bash, version + patch level (e.g., 2.00.0)
:現在の時刻を12時間HH:MM:SS形式で表示する。
              \w    the current working directory, with $HOME abbreviated with a tilde (uses the  value
;\@     
                    of the PROMPT_DIRTRIM variable)
:現在時刻を12時間表示のam/pmで表示する。
              \W    the basename of the current working directory, with $HOME abbreviated with a tilde
;\A     
              \!    the history number of this command
:現在時刻を24時間表示する。
              \#    the command number of this command
;\u     
              \$    if the effective UID is 0, a #, otherwise a $
:現在のユーザーのユーザー名
              \nnn  the character corresponding to the octal number nnn
;\v     
              \\    a backslash
:bash のバージョン(例:2.00)
              \[     begin  a sequence of non-printing characters, which could be used to embed a termi‐
;\V     
                    nal control sequence into the prompt
:bash のリリース、バージョン+パッチレベル(例:2.00.0)
              \]     end a sequence of non-printing characters
;\w     
:$HOME をチルダで省略した現在の作業ディレクトリ ('''PROMPT_DIRTRIM''' 変数の値を使用する)
;\W     
:現在の作業ディレクトリのベースネーム
;\!     
:このコマンドの履歴番号
;\#     
:このコマンドのコマンド番号
;\$     
:有効UIDが0の場合は#、それ以外は$である
;\nnn   
:8進数のnnnに対応する文字。
;\\     
:バックスラッシュ
;<nowiki>\[</nowiki>
:プロンプトに端末制御シーケンスを埋め込むために最初につける
;<nowiki>\]</nowiki>
:印字しない文字のシーケンスを終了する。


      The command number and the history number are usually different: the history number of a  command
コマンド番号とヒストリ番号は通常異なる。コマンドのヒストリ番号はヒストリリスト内の位置で、ヒストリファイルから復元されたコマンドを含むことがある(下記の[[#HISTORY|HISTORY ]]を参照)。 文字列はデコードされた後、promptvarsシェルオプションの値に従って、パラメータ展開、コマンド置換、算術展開、引用符除去によって展開される(以下の[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]のshoptコマンドの説明を参照のこと)。 これは、文字列のエスケープされた部分がコマンド置換の中に現れたり、単語展開に特殊な文字を含んでいたりすると、望ましくない副作用をもたらす可能性がある。
      is  its  position  in the history list, which may include commands restored from the history file
      (see HISTORY below), while the command number is the position in the sequence  of  commands  exe‐
      cuted  during the current shell session.  After the string is decoded, it is expanded via parame‐
      ter expansion, command substitution, arithmetic expansion, and  quote  removal,  subject  to  the
      value  of  the  promptvars  shell  option  (see  the description of the shopt command under SHELL
      BUILTIN COMMANDS below).  This can have unwanted side effects if escaped portions of  the  string
      appear within command substitution or contain characters special to word expansion.


== READLINE ==
== READLINE ==
      This  is  the  library  that  handles  reading  input when using an interactive shell, unless the
シェル起動時に--noeditingオプションが指定されていない限り、対話型シェル使用時に入力を読み込む処理を行うライブラリである。 行編集は、read組み込み関数に-eオプションを指定した場合にも使用される。 デフォルトでは、行編集コマンドはEmacsのものと似ている。Viスタイルの行編集インターフェースも利用できる。 行編集は、set 組み込み関数の -o emacs または -o vi オプションを使用することで、いつでも有効にすることができる(後述の「シェル組み込みコマンド」を参照)。 シェルの実行後に行編集をオフにするには、set ビルトインの +o emacs または +o vi オプションを使用する。
      --noediting option is given at shell invocation.  Line editing is also used when using the -e op‐
      tion  to  the read builtin.  By default, the line editing commands are similar to those of Emacs.
      A vi-style line editing interface is also available.  Line editing can be enabled at any time us‐
      ing the -o emacs or -o vi options to the set builtin (see SHELL BUILTIN COMMANDS below).  To turn
      off line editing after the shell is running, use the +o emacs or  +o vi options  to  the  set
      builtin.


=== Readline Notation ===
=== Readline Notation ===
      In this section, the Emacs-style notation is used to denote keystrokes.  Control keys are denoted
このセクションでは、Emacs流の表記法でキーストロークを表す。 例えば、C-nはControl-Nを意味する。 同様に、メタ・キーはM-keyで表記されるので、M-xはMeta-Xを意味する。 (メタキーのないキーボードでは、M-xはESC x、つまりEscapeキーを押してからxキーを押すことを意味する)。 つまり、Escapeキーを押してからxキーを押す。 M-C-xの組み合わせはESC-Control-xを意味し、つまりEscapeキーを押してからControlキーを押しながらxキーを押す)
      by C-key, e.g., C-n means Control-N.  Similarly, meta keys are denoted by  M-key,  so  M-x  means
      Meta-X.  (On keyboards without a meta key, M-x means ESC x, i.e., press the Escape key then the x
      key.  This makes ESC the meta prefix.  The combination M-C-x means ESC-Control-x,  or  press  the
      Escape key then hold the Control key while pressing the x key.)


      Readline  commands  may  be given numeric arguments, which normally act as a repeat count.  Some‐
Readlineコマンドには数値引数を与えることができ、通常は繰り返し回数として機能する。 しかし、引数の符号が重要な意味を持つこともある。 順方向に動作するコマンド(例えば、kill-line)に負の引数を渡すと、そのコマンドは逆方向に動作する。 引数による動作がこれと異なるコマンドを以下に記す。
      times, however, it is the sign of the argument that is significant.  Passing a negative  argument
      to a command that acts in the forward direction (e.g., kill-line) causes that command to act in a
      backward direction.  Commands whose behavior with arguments deviates from this are noted below.


      When a command is described as killing text, the text deleted is saved for  possible  future  re‐
あるコマンドがテキストを殺すと記述されている場合、削除されたテキストは将来取り出せるように保存される(yanking)。 キルされたテキストはキルリングに保存される。 連続してキルされると、テキストは1つのユニットに蓄積され、一度にすべてヤンクすることができる。 テキストをキルしないコマンドは、キルリング上のテキストの塊を分離する。
      trieval (yanking).  The killed text is saved in a kill ring.  Consecutive kills cause the text to
      be accumulated into one unit, which can be yanked all at once.  Commands which do not  kill  text
      separate the chunks of text on the kill ring.


=== Readline Initialization ===
=== Readline Initialization ===
      Readline  is  customized  by  putting commands in an initialization file (the inputrc file).  The
Readlineは、初期化ファイル(inputrcファイル)にコマンドを入れることでカスタマイズされる。 このファイル名はINPUTRC変数の値から取られる。 この変数が設定されていない場合、デフォルトは~/.inputrcである。 そのファイルが存在しないか、読み込めない場合、最終的なデフォルトは/etc/inputrcとなる。 readlineライブラリを使用するプログラムが起動すると、初期化ファイルが読み込まれ、キーバインドと変数が設定される。 readline初期化ファイルには、いくつかの基本的な構文しか許されない。 空白行は無視される。 で始まる行はコメントである。 で始まる行は条件分岐を示す。 その他の行は、キーバインドと変数設定を示す。
      name of this file is taken from the value of the INPUTRC variable.  If that  variable  is  unset,
      the  default is ~/.inputrc.  If that file  does not exist or cannot be read, the ultimate default
      is /etc/inputrc.  When a program which uses the readline library starts  up,  the  initialization
      file  is read, and the key bindings and variables are set.  There are only a few basic constructs
      allowed in the readline initialization file.  Blank lines are ignored.  Lines beginning with a  #
      are  comments.  Lines beginning with a $ indicate conditional constructs.  Other lines denote key
      bindings and variable settings.


      The default key-bindings may be changed with an inputrc file.  Other programs that use  this  li‐
デフォルトのキーバインディングはinputrcファイルで変更できる。 このライブラリを使用する他のプログラムは、独自のコマンドやバインディングを追加することができる。
      brary may add their own commands and bindings.


      For example, placing
:たとえば、


              M-Control-u: universal-argument
::M-Control-u: universal-argument
      or
:または、
              C-Meta-u: universal-argument
::C-Meta-u: universal-argument
      into the inputrc would make M-C-u execute the readline command universal-argument.
::を入力すると、M-C-uはreadlineコマンドのuniversal-argumentを実行する。


      The  following  symbolic character names are recognized: RUBOUT, DEL, ESC, LFD, NEWLINE, RET, RE‐
以下の記号文字名が認識される: RUBOUT、DEL、ESC、LFD、NEWLINE、RET、RETURN、SPC、SPACE、TABである。
      TURN, SPC, SPACE, and TAB.


      In addition to command names, readline allows keys to be bound to a string that is inserted  when
コマンド名に加えて、readlineでは、キーを押したときに挿入される文字列(マクロ)にキーをバインドすることができる。
      the key is pressed (a macro).


=== Readline Key Bindings ===
=== Readline Key Bindings ===
      The  syntax  for controlling key bindings in the inputrc file is simple.  All that is required is
inputrcファイルでキーバインドを制御する構文は簡単である。 必要なのは、コマンド名またはマクロのテキストと、それをバインドするキー配列だけである。
      the name of the command or the text of a macro and a key sequence to which it  should  be  bound.
名前は2つの方法で指定できる。1つはシンボリックなキー名で、Meta-またはControl-という接頭辞をつけることもできるし、もう1つはキー配列である。
      The name may be specified in one of two ways: as a symbolic key name, possibly with Meta- or Con‐
      trol- prefixes, or as a key sequence.


      When using the form keyname:function-name or macro, keyname is the name of a key spelled  out  in
keyname:function-nameまたはmacroという形式を使う場合、keynameは英語で綴られたキーの名前である。 例えば:
      English.  For example:


<syntaxhighlight lang="bash">
               Control-u: universal-argument
               Control-u: universal-argument
               Meta-Rubout: backward-kill-word
               Meta-Rubout: backward-kill-word
               Control-o: "> output"
               Control-o: "> output"
</syntaxhighlight>


      In  the  above  example,  C-u  is bound to the function universal-argument, M-DEL is bound to the
上記の例では、C-uは関数universal-argumentに、M-DELは関数backward-kill-wordに、C-oは右辺で表現されたマクロを実行する(つまり、テキスト``> output''を行に挿入する)ためにバインドされている。
      function backward-kill-word, and C-o is bound to run the macro expressed on the right  hand  side
      (that is, to insert the text ``> output'' into the line).


      In  the  second  form, "keyseq":function-name or macro, keyseq differs from keyname above in that
2番目の形式である "keyseq":function-nameまたはmacroでは、keyseqは上記のkeynameとは異なり、キーシーケンス全体を表す文字列を二重引用符で囲んで指定することができる。 以下の例のように、GNU Emacsスタイルのキーエスケープを使うことができるが、記号文字名は認識されない。
      strings denoting an entire key sequence may be specified by placing the  sequence  within double
      quotes.  Some GNU Emacs style key escapes can be used, as in the following example, but the sym‐
      bolic character names are not recognized.


<syntaxhighlight lang="bash">
               "\C-u": universal-argument
               "\C-u": universal-argument
               "\C-x\C-r": re-read-init-file
               "\C-x\C-r": re-read-init-file
               "\e[11~": "Function Key 1"
               "\e[11~": "Function Key 1"
</syntaxhighlight>


      In this example, C-u is again bound to the function universal-argument.  C-x C-r is bound to  the
この例では、C-uは再び関数universal-argumentにバインドされている。 C-x C-rは関数re-read-init-fileに束縛され、<nowiki>ESC [ 1 1 ~</nowiki>はテキスト``Function Key 1''を挿入するために束縛される。
      function re-read-init-file, and ESC [ 1 1 ~ is bound to insert the text ``Function Key 1''.


      The full set of GNU Emacs style escape sequences is
GNU Emacsスタイルのエスケープシーケンス一式は以下の通りである。
<syntaxhighlight lang="bash">
               \C-    control prefix
               \C-    control prefix
               \M-    meta prefix
               \M-    meta prefix
Line 1,656: Line 1,373:
               \"    literal "
               \"    literal "
               \'    literal '
               \'    literal '
</syntaxhighlight>


      In  addition to the GNU Emacs style escape sequences, a second set of backslash escapes is avail‐
GNU Emacsスタイルのエスケープシーケンスに加えて、2つ目のバックスラッシュエスケープのセットが利用できる:
      able:
<syntaxhighlight lang="bash">
               \a    alert (bell)
               \a    alert (bell)
               \b    backspace
               \b    backspace
Line 1,668: Line 1,386:
               \v    vertical tab
               \v    vertical tab
               \nnn  the eight-bit character whose value is the octal value nnn (one to three digits)
               \nnn  the eight-bit character whose value is the octal value nnn (one to three digits)
               \xHH  the eight-bit character whose value is the hexadecimal value HH  (one  or  two  hex
               \xHH  the eight-bit character whose value is the hexadecimal value HH  (one  or  two  hex digits)
                    digits)
</syntaxhighlight>


      When entering the text of a macro, single or double quotes must be used to indicate a macro defi‐
マクロのテキストを入力する際には、マクロ定義を示すために一重引用符または二重引用符を使用しなければならない。 引用符で囲まれていないテキストは関数名とみなされる。 マクロ本文では、前述のバックスラッシュエスケープが展開される。 バックスラッシュは、" ' を含め、マクロテキスト内の他の文字を引用符で囲む。
      nition.  Unquoted text is assumed to be a function name.  In the macro body,  the  backslash  es‐
      capes  described above are expanded.  Backslash will quote any other character in the macro text,
      including " and '.


      Bash allows the current readline key bindings to be displayed or modified with the bind  builtin
Bashでは、bind組み込みコマンドを使用して、現在のreadlineキーバインディングを表示または変更できる。 編集モードは、set builtinコマンドの-oオプションを使用することで、インタラクティブな使用中に切り替えることができる(後述の「[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]」を参照)。
      command.  The  editing mode may be switched during interactive use by using the -o option to the
      set builtin command (see SHELL BUILTIN COMMANDS below).


=== Readline Variables ===
=== Readline Variables ===
      Readline has variables that can be used to further customize its behavior.  A variable may be set
Readlineには、その動作をさらにカスタマイズするために使用できる変数がある。 変数は、inputrcファイルに次のような形式で設定することができる。
      in the inputrc file with a statement of the form
:set variable-name value
またはbind組み込みコマンドを使用する(下記の「[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]」を参照)。


              set variable-name value
注意書きがある場合を除き、readline変数は(大文字小文字を区別せずに)OnまたはOffの値を取ることができる。認識できない変数名は無視される。 変数の値が読み込まれるとき、空またはヌル値、"on"(大文字小文字を区別しない)、"1 "は On と等価である。 その他の値はすべて Off と同じである。変数とそのデフォルト値は以下の通りである:
      or using the bind builtin command (see SHELL BUILTIN COMMANDS below).


      Except  where  noted,  readline variables can take the values On or Off (without regard to case).
;bell-style (audible)
      Unrecognized variable names are ignored.  When a variable value is read, empty  or  null  values,
:readlineが端末のベルを鳴らそうとするときの動作を制御する。 noneに設定すると、readlineはベルを鳴らさない。 visible に設定すると、readline はベルがあればそれを使う。 audibleに設定すると、readlineは端末のベルを鳴らそうとする。
      "on"  (case-insensitive),  and "1" are equivalent to On.  All other values are equivalent to Off.
;bind-tty-special-chars (On)
      The variables and their default values are:
:Onに設定すると、readlineは、カーネルの端末ドライバで特別に扱われる制御文字を、readlineに相当する文字にバインドしようとする。
 
;blink-matching-paren (Off)
      bell-style (audible)
:Onに設定すると、readlineは、閉じ括弧が挿入されたときに、カーソルを開始括弧に短時間移動させようとする。
              Controls what happens when readline wants to ring the terminal bell.  If  set  to  none,
;colored-completion-prefix (Off)
              readline  never rings the bell.  If set to visible, readline uses a visible bell if one is
:Onに設定すると、補完候補を一覧表示する際に、readlineは補完候補の共通接頭辞を別の色で表示する。 色の定義は'''LS_COLORS'''環境変数の値から取られる。
              available.  If set to audible, readline attempts to ring the terminal's bell.
;colored-stats (Off)
      bind-tty-special-chars (On)
:Onに設定すると、readlineは、ファイルの種類を示すために、可能性のある補完を異なる色で表示する。 色の定義は、'''LS_COLORS'''環境変数の値から取られる。
              If set to On, readline attempts to bind the control characters treated  specially  by  the
;comment-begin (``#'')
              kernel's terminal driver to their readline equivalents.
:readline insert-commentコマンド実行時に挿入される文字列。 このコマンドはemacsモードではM-#に、viコマンドモードでは#にバインドされる。
      blink-matching-paren (Off)
;completion-display-width (-1)
              If  set to On, readline attempts to briefly move the cursor to an opening parenthesis when
:補完を実行するときに、マッチする可能性のあるものを表示するために使われる画面の列数。この値が 0 より小さいか、端末の画面幅より大きい場合は無視される。 0を指定すると、マッチは1行に1つずつ表示される。 デフォルト値は -1 である。
              a closing parenthesis is inserted.
;completion-ignore-case (Off)
      colored-completion-prefix (Off)
:Onに設定すると、readlineは大文字小文字を区別せずにファイル名のマッチングと補完を行う。
              If set to On, when listing completions, readline displays the common prefix of the set  of
;completion-map-case (Off)
              possible  completions  using  a different color.  The color definitions are taken from the
:Onに設定し、補完-大文字小文字を区別しないを有効にすると、大文字小文字を区別しないファイル名のマッチングと補完を行う際に、readlineはハイフン(-)とアンダースコア(_)を等価なものとして扱う。
              value of the LS_COLORS environment variable.
;completion-prefix-display-length (0)
      colored-stats (Off)
:補完可能リストをそのまま表示する場合の、共通接頭辞の文字数。 ゼロより大きい値に設定すると、この値より長い共通接頭辞は、可能な補完を表示する際に省略記号に置き換えられる。
              If set to On, readline displays possible completions using different  colors  to  indicate
;completion-query-items (100)
              their file type.  The color definitions are taken from the value of the LS_COLORS environ‐
:これは、possible-completionsコマンドによって生成された可能な完了の数の表示について、ユーザーに問い合わせがあったときに決定する。 0以上の任意の整数値を設定することができる。 可能な補完の数がこの変数の値以上であれば、readlineはユーザーがそれらを表示したいかどうかを尋ねる。
              ment variable.
;convert-meta (On)
      comment-begin (``#'')
:Onに設定すると、readlineは8ビット目が設定された文字をASCIIキーシーケンスに変換し、8ビット目を除去してエスケープ文字を先頭に付ける(事実上、エスケープをメタプレフィックスとして使用する)。 デフォルトはOnであるが、ロケールに8ビット文字が含まれている場合、readlineはこれをOffに設定する。
              The string that is inserted when the readline insert-comment command is  executed.  This
;disable-completion (Off)
              command is bound to M-# in emacs mode and to # in vi command mode.
:Onに設定すると、readlineは単語の補完を禁止する。 補完文字は、あたかも自己挿入にマップされているかのように行に挿入される。
      completion-display-width (-1)
;echo-control-characters (On)
              The  number of screen columns used to display possible matches when performing completion.
:Onに設定すると、サポートしていることを示すオペレーティング・システム上で、readlineはキーボードから生成された信号に対応する文字をエコーする。
              The value is ignored if it is less than 0 or greater than the terminal  screen width.  A
;editing-mode (emacs)
              value of 0 will cause matches to be displayed one per line.  The default value is -1.
:editing-modeはemacsかviのどちらかに設定できる。
      completion-ignore-case (Off)
;emacs-mode-string (@)
              If  set  to  On,  readline performs filename matching and completion in a case-insensitive
:show-mode-in-prompt変数が有効な場合、emacs編集モードが有効なとき、この文字列はプライマリプロンプトの最終行の直前に表示される。 この値はキーバインディングのように展開されるので、標準的なメタプレフィックスとコントロールプレフィックス、バックスラッシュエスケープシーケンスのセットが利用できる。 印刷されない文字のシーケンスの開始と終了には、"emacs1 "と "emacs2 "エスケープを使用し、端末制御シーケンスをモード文字列に埋め込むことができる。
              fashion.
;enable-bracketed-paste (On)
      completion-map-case (Off)
:Onに設定すると、readlineは、ペーストされた各文字をキーボードから読み込んだものとして扱うのではなく、1つの文字列として編集バッファに挿入できるように端末を設定する。 これにより、ペーストされた文字が編集コマンドとして解釈されるのを防ぐことができる。
              If set to On, and completion-ignore-case is enabled, readline treats hyphens (-) and  un‐
;enable-keypad (Off)
              derscores (_) as equivalent when performing case-insensitive filename matching and comple‐
:Onに設定すると、readlineが呼び出されたときに、アプリケーションのキーパッドを有効にしようとする。システムによっては、矢印キーを有効にするためにこれが必要である。
              tion.
;enable-meta-key (On)
      completion-prefix-display-length (0)
:Onに設定すると、readlineが呼び出されたときに、端末がサポートしていると主張するメタ修飾キーを有効にしようとする。 多くの端末では、メタ・キーは8ビット文字の送信に使われる。
              The length in characters of the common prefix of a list of possible completions  that  is
;expand-tilde (Off)
              displayed  without  modification.  When set to a value greater than zero, common prefixes
:Onに設定すると、readlineが単語補完を試みる際にチルダ展開が行われる。
              longer than this value are replaced with an ellipsis when displaying possible completions.
;history-preserve-point (Off)
      completion-query-items (100)
:Onに設定されている場合、ヒストリーコードは、previous-historyまたはnext-historyで検索された各ヒストリー行の同じ位置にポイントを配置しようとする。
              This determines when the user is queried about viewing the number of possible  completions
;history-size (unset)
              generated by the possible-completions command.  It may be set to any integer value greater
:履歴リストに保存される履歴エントリーの最大数を設定する。 ゼロに設定した場合、既存の履歴エントリーはすべて削除され、 新しいエントリーは保存されない。 ゼロ未満の値を設定すると、ヒストリエントリの数は制限されない。 デフォルトでは、ヒストリエントリ数はシェル変数HISTSIZEの値に設定される。 history-sizeに数値以外の値を設定しようとすると、ヒストリエントリの最大数は500に設定される。
              than or equal to zero.  If the number of possible completions is greater than or equal  to
;horizontal-scroll-mode (Off)
              the value of this variable, readline will ask whether or not the user wishes to view them;
:Onに設定すると、readlineは1行で表示するようになり、入力が画面幅より長くなると、改行するのではなく、画面1行で水平方向にスクロールするようになる。 この設定は、高さ1の端末では自動的に有効になる。
              otherwise they are simply listed on the terminal.
;input-meta (Off)
      convert-meta (On)
:Onに設定された場合、readlineは8ビット入力を有効にする(つまり、読み取った文字から8ビット目を取り除かない)。meta-flagという名前は、この変数の同義語である。 デフォルトはOffであるが、ロケールに8ビット文字が含まれている場合、readlineはこれをOnに設定する。
              If set to On, readline will convert characters with the eighth bit set to an ASCII key se‐
;isearch-terminators <nowiki>(``C-[C-J'')</nowiki>
              quence by stripping the eighth bit and prefixing an escape character (in effect, using es‐
:その文字をコマンドとして実行せずにインクリメンタルサーチを終了させる文字列。 この変数に値が与えられていない場合、文字 ESC C-J がインクリメンタルサーチを終了する。
              cape as the meta prefix).  The default is On, but readline will set it to Off if  the  lo‐
;keymap (emacs)
              cale contains eight-bit characters.
:現在のreadlineキーマップを設定する。 有効なキーマップ名は、emacs、emacs-standard、 emacs-meta、emacs-ctlx、vi、vi-command、vi-insertである。 デフォルト値はemacsである。editing-modeの値はデフォルトのキーマップにも影響する。
      disable-completion (Off)
;keyseq-timeout (500)
              If  set  to  On, readline will inhibit word completion.  Completion characters will be in‐
:曖昧なキーシーケンス(これまでに読み込まれた入力を使って完全なキーシーケンスを形成できるもの、または、より長いキーシーケンスを完成させるために追加入力を必要とするもの)を読み込む際に、readlineが文字を待つ時間を指定する。 タイムアウト時間内に入力がない場合、readlineは短いが完全なキーシーケンスを使用する。 値はミリ秒単位で指定されるので、1000という値は、readlineが追加入力を1秒待つことを意味する。 この変数に0以下の値、または数値以外の値が設定された場合、readlineは他のキーが押されるまで待ち、どのキーシーケンスを完了させるかを決定する。
              serted into the line as if they had been mapped to self-insert.
;mark-directories (On)
      echo-control-characters (On)
:Onに設定すると、完成したディレクトリ名にスラッシュが付加される。
              When set to On, on operating systems that indicate they  support  it,  readline  echoes  a
;mark-modified-lines (Off)
              character corresponding to a signal generated from the keyboard.
:Onに設定すると、変更されたヒストリー行は、その前にアスタリスク(*)をつけて表示される。
      editing-mode (emacs)
;mark-symlinked-directories (Off)
              Controls whether readline begins with a set of key bindings similar to Emacs or vi.  edit‐
:Onに設定すると、ディレクトリへのシンボリックリンクである完了した名前にスラッシュが付加される(mark-directoriesの値に従う)。
              ing-mode can be set to either emacs or vi.
;match-hidden-files (On)
      emacs-mode-string (@)
:この変数を On に設定すると、readline がファイル名補完を行うときに、ファイル名が `.' で始まるファイル (隠しファイル) にマッチするようになる。 Offに設定すると、補完するファイル名の先頭の `.' はユーザーが与えなければならない。
              If the show-mode-in-prompt variable is enabled, this string is displayed  immediately  be‐
;menu-complete-display-prefix (Off)
              fore  the last line of the primary prompt when emacs editing mode is active.  The value is
:Onに設定すると、メニュー補完は、リストを循環する前に、補完可能なリストの共通接頭辞(空でもよい)を表示する。
              expanded like a key binding, so the standard set of meta- and control prefixes  and  back‐
;output-meta (Off)
              slash escape sequences is available.  Use the \1 and \2 escapes to begin and end sequences
:Onに設定すると、readlineはメタ接頭辞付きエスケープシーケンスとしてではなく、8ビット目が直接設定された文字を表示する。 デフォルトはOffであるが、ロケールに8ビット文字が含まれている場合、readlineはこれをOnに設定する。
              of non-printing characters, which can be used to embed a terminal  control  sequence  into
;page-completions (On)
              the mode string.
:Onに設定すると、readlineは内部のmore-likeページャーを使って、一度に画面いっぱいの完了候補を表示する。
      enable-bracketed-paste (On)
;print-completions-horizontally (Off)
              When  set  to On, readline will configure the terminal in a way that will enable it to in‐
:Onに設定すると、readlineは、マッチした選手を画面の下ではなく、アルファベット順に水平にソートして表示する。
              sert each paste into the editing buffer as a  single  string  of  characters,  instead  of
;revert-all-at-newline (Off)
              treating each character as if it had been read from the keyboard.  This can prevent pasted
:Onに設定すると、readlineはaccept-lineが実行されたときに戻る前に、履歴行のすべての変更を取り消す。 デフォルトでは、履歴行は変更される可能性があり、readlineの呼び出しにまたがって個々の取り消しリストを保持する。
              characters from being interpreted as editing commands.
;show-all-if-ambiguous (Off)
      enable-keypad (Off)
:これは補完関数のデフォルトの動作を変更する。 Onに設定すると、複数の補完候補がある単語は、ベルを鳴らす代わりに、マッチした単語を即座にリストアップする。
              When set to On, readline will try to enable the application  keypad  when  it  is  called.
;show-all-if-unmodified (Off)
              Some systems need this to enable the arrow keys.
:これはshow-all-if-ambiguousに似た方法で、補完関数のデフォルトの動作を変更する。 Onに設定すると、部分補完の可能性がなく(補完の可能性が共通の接頭辞を持たない)、複数の補完の可能性がある単語は、ベルを鳴らす代わりに、マッチした単語を即座にリストアップする。
      enable-meta-key (On)
;show-mode-in-prompt (Off)
              When  set  to On, readline will try to enable any meta modifier key the terminal claims to
:Onに設定された場合、編集モードを示す文字列をプロンプトの先頭に追加する: emacs、viコマンド、vi挿入。 モード文字列は、ユーザー設定可能である(例えば、emacs-mode-string)
              support when it is called.  On many terminals, the meta key  is  used  to  send  eight-bit
;skip-completed-text (Off)
              characters.
:Onに設定すると、単一一致を行に挿入する際のデフォルトの補完動作を変更する。 単語の途中で補完を行う場合にのみ有効である。 有効にすると、readlineは補完された文字が、補完された単語内のポイント以降の文字にマッチしても挿入しないので、カーソルに続く単語の一部が重複しない。
      expand-tilde (Off)
;vi-cmd-mode-string ((cmd))
              If set to On, tilde expansion is performed when readline attempts word completion.
:show-mode-in-prompt変数が有効な場合、この文字列は、vi編集モードが有効でコマンドモードのとき、プライマリプロンプトの最終行の直前に表示される。 この値は、キーバインディングのように展開されるので、標準的なメタとコントロールの接頭辞とバックスラッシュエスケープシーケンスのセットが利用できる。 非印字文字のシーケンスの開始と終了には、"˶1 "と"˶2 "エスケープを使用する。"˶1 "と"˶2 "エスケープは、端末制御シーケンスをモード文字列に埋め込むために使用できる。
      history-preserve-point (Off)
;vi-ins-mode-string ((ins))
              If  set  to On, the history code attempts to place point at the same location on each his‐
:show-mode-in-prompt変数が有効な場合、この文字列は、vi編集モードが有効で挿入モードのとき、主プロンプトの最終行の直前に表示される。 この値は、キーバインディングのように展開されるので、標準的なメタとコント ロール接頭辞のセットとバックスラッシュ・エスケープ・シーケンスが利用できる。 非印字文字のシーケンスの開始と終了には、ⅳ1とⅳ2エスケープを使用する。
              tory line retrieved with previous-history or next-history.
;visible-stats (Off)
      history-size (unset)
:On に設定すると、 [https://manpages.debian.org/unstable/manpages-dev/stat.2.en.html stat](2) が報告するファイルのタイプを示す文字が、 補完の可能性をリストする際にファイル名に付加される。
              Set the maximum number of history entries saved in the history list.  If set to zero,  any
              existing history entries are deleted and no new entries are saved.  If set to a value less
              than zero, the number of history entries is not limited.  By default, the number  of  his‐
              tory entries is set to the value of the HISTSIZE shell variable.  If an attempt is made to
              set history-size to a non-numeric value, the maximum number of history entries will be set
              to 500.
      horizontal-scroll-mode (Off)
              When set to On, makes readline use a single line for display, scrolling the input horizon‐
              tally on a single screen line when it becomes longer than the  screen  width  rather  than
              wrapping to a new line.  This setting is automatically enabled for terminals of height 1.
      input-meta (Off)
              If  set to On, readline will enable eight-bit input (that is, it will not strip the eighth
              bit from the characters it reads), regardless of what the terminal claims it can  support.
              The  name meta-flag is a synonym for this variable.  The default is Off, but readline will
              set it to On if the locale contains eight-bit characters.
      isearch-terminators (``C-[C-J'')
              The string of characters that should terminate an incremental search without  subsequently
              executing  the  character  as a command.  If this variable has not been given a value, the
              characters ESC and C-J will terminate an incremental search.
      keymap (emacs)
              Set the current readline keymap.  The set of valid keymap names is emacs,  emacs-standard,
              emacs-meta,  emacs-ctlx,  vi,  vi-command, and vi-insert.  vi is equivalent to vi-command;
              emacs is equivalent to emacs-standard.  The default value is emacs; the  value  of  edit‐
              ing-mode also affects the default keymap.
      keyseq-timeout (500)
              Specifies  the  duration  readline will wait for a character when reading an ambiguous key
              sequence (one that can form a complete key sequence using the input read so  far,  or  can
              take  additional input to complete a longer key sequence).  If no input is received within
              the timeout, readline will use the shorter but complete key sequence.  The value is speci‐
              fied  in milliseconds, so a value of 1000 means that readline will wait one second for ad‐
              ditional input.  If this variable is set to a value less than or equal to zero,  or  to  a
              non-numeric value, readline will wait until another key is pressed to decide which key se‐
              quence to complete.
      mark-directories (On)
              If set to On, completed directory names have a slash appended.
      mark-modified-lines (Off)
              If set to On, history lines that have been modified are displayed with a preceding  aster‐
              isk (*).
      mark-symlinked-directories (Off)
              If  set  to  On,  completed names which are symbolic links to directories have a slash ap‐
              pended (subject to the value of mark-directories).
      match-hidden-files (On)
              This variable, when set to On, causes readline to match files whose names begin with a `.'
              (hidden  files) when performing filename completion.  If set to Off, the leading `.' must
              be supplied by the user in the filename to be completed.
      menu-complete-display-prefix (Off)
              If set to On, menu completion displays the common prefix of the list of  possible  comple‐
              tions (which may be empty) before cycling through the list.
      output-meta (Off)
              If  set  to  On,  readline will display characters with the eighth bit set directly rather
              than as a meta-prefixed escape sequence.  The default is Off, but readline will set it  to
              On if the locale contains eight-bit characters.
      page-completions (On)
              If set to On, readline uses an internal more-like pager to display a screenful of possible
              completions at a time.
      print-completions-horizontally (Off)
              If set to On, readline will display completions with matches sorted horizontally in alpha‐
              betical order, rather than down the screen.
      revert-all-at-newline (Off)
              If  set  to  On, readline will undo all changes to history lines before returning when ac‐
              cept-line is executed.  By default, history lines may be modified  and  retain  individual
              undo lists across calls to readline.
      show-all-if-ambiguous (Off)
              This  alters  the default behavior of the completion functions.  If set to On, words which
              have more than one possible completion cause the matches to be listed immediately  instead
              of ringing the bell.
      show-all-if-unmodified (Off)
              This  alters  the  default  behavior  of  the completion functions in a fashion similar to
              show-all-if-ambiguous.  If set to On, words which have more than one  possible  completion
              without  any  possible  partial  completion (the possible completions don't share a common
              prefix) cause the matches to be listed immediately instead of ringing the bell.
      show-mode-in-prompt (Off)
              If set to On, add a string to the beginning of the prompt  indicating  the  editing  mode:
              emacs,  vi  command,  or  vi  insertion.  The  mode  strings  are  user-settable (e.g.,
              emacs-mode-string).
      skip-completed-text (Off)
              If set to On, this alters the default completion behavior when inserting  a  single  match
              into  the  line.  It's only active when performing completion in the middle of a word.  If
              enabled, readline does not insert characters from the completion that match characters af‐
              ter  point  in  the word being completed, so portions of the word following the cursor are
              not duplicated.
      vi-cmd-mode-string ((cmd))
              If the show-mode-in-prompt variable is enabled, this string is displayed  immediately  be‐
              fore  the  last  line  of the primary prompt when vi editing mode is active and in command
              mode.  The value is expanded like a key binding, so the standard set of meta- and  control
              prefixes  and backslash escape sequences is available.  Use the \1 and \2 escapes to begin
              and end sequences of non-printing characters, which can be used to embed a  terminal  con‐
              trol sequence into the mode string.
      vi-ins-mode-string ((ins))
              If  the  show-mode-in-prompt variable is enabled, this string is displayed immediately be‐
              fore the last line of the primary prompt when vi editing mode is active and  in insertion
              mode.  The value is expanded like a key binding, so the standard set of meta- and control
              prefixes and backslash escape sequences is available.  Use the \1 and \2 escapes to  begin
              and  end  sequences of non-printing characters, which can be used to embed a terminal con‐
              trol sequence into the mode string.
      visible-stats (Off)
              If set to On, a character denoting a file's type as reported by stat(2) is appended to the
              filename when listing possible completions.


=== Readline Conditional Constructs ===
=== Readline Conditional Constructs ===
      Readline implements a facility similar in spirit to the conditional compilation features of the C
Readlineは、Cプリプロセッサの条件付きコンパイル機能に似た機能を実装しており、テストの結果としてキーバインディングや変数設定を実行することができる。 使用されるパーサ・ディレクティブは4つある。
      preprocessor which allows key bindings and variable settings to be performed  as  the  result  of
      tests.  There are four parser directives used.


      $if   The $if construct allows bindings to be made based on the editing mode, the terminal being
;$if
              used, or the application using readline.  The text of the test, after any comparison oper‐
:$if構文では、編集モード、使用中の端末、readlineを使用するアプリケーションに 基づいてバインディングを行うことができる。 比較演算子の後のテスト・テキストは行末まで続く。
              ator,
              extends  to  the  end  of the line; unless otherwise noted, no characters are required to
              isolate it.


              mode  The mode= form of the $if directive is used to test whether readline is in emacs or
:;mode   
                    vi  mode.  This  may be  used in conjunction with the set keymap command, for in‐
::ifディレクティブのmode=は、readlineがemacsモードかviモードかをテストするために使われる。 これは、例えば、readlineがemacsモードで起動している場合にのみ、emacs-standardとemacs-ctlxのキーマップのバインディングを設定するために、set keymapコマンドと組み合わせて使用することができる。
                    stance, to set bindings in the emacs-standard and emacs-ctlx keymaps only if  read‐
                    line is starting out in emacs mode.


              term  The  term=  form  may be used to include terminal-specific key bindings, perhaps to
:;term   
                    bind the key sequences output by the terminal's function keys.  The  word  on  the
::term=形式は、端末固有のキーバインディングを含めるために使用される。おそらく、 端末のファンクションキーが出力するキーシーケンスをバインドするためであろう。 の右側の単語は、端末のフルネームと、端末名の最初の - より前の部分の両方に対してテストされる。 これにより、例えばsunはsunとsun-cmdの両方にマッチする。
                    right  side  of  the = is tested against both the full name of the terminal and the
                    portion of the terminal name before the first -.  This allows sun to match both sun
                    and sun-cmd, for instance.


              version
:;version
                    The  version test may be used to perform comparisons against specific readline ver‐
::バージョン・テストは、特定のリードライン・バージョンとの比較を実行するために使用することができる。 バージョンは現在のリードラインバージョンに展開される。 比較演算子のセットには、=、(と==)、<nowiki>!=<=>=<></nowiki>がある。 演算子の右側に与えられるバージョン番号は、メジャーバージョン番号、オプションの小数点、オプションのマイナーバージョン(例えば、7.1)から構成される。マイナーバージョンが省略された場合、それは0であると仮定される。演算子は、文字列バージョンと空白によってバージョン番号の引数から分離することができる。
                    sions.  The version expands to the current readline version.  The set of comparison
                    operators  includes =, (and ==), !=, <=, >=, <, and >. The version number supplied
                    on the right side of the operator consists of a major version number,  an  optional
                    decimal  point,  and an optional minor version (e.g., 7.1). If the minor version is
                    omitted, it is assumed to be 0.  The operator may be separated from the string ver‐
                    sion and from the version number argument by whitespace.
 
              application
                    The  application  construct is used to include application-specific settings.  Each
                    program using the readline library sets the application name, and an initialization
                    file  can test for a particular value.  This could be used to bind key sequences to
                    functions useful for a specific program.  For instance, the following command  adds
                    a key sequence that quotes the current or previous word in bash:


:;application
::アプリケーション構文は、アプリケーション固有の設定を含めるために使用される。 readlineライブラリを使用する各プログラムはアプリケーション名を設定し、初期化ファイルは特定の値をテストすることができる。 これを利用して、キー・シーケンスを特定のプログラムにとって有用な関数にバインドすることができる。 例えば、次のコマンドは、bashで現在または前の単語を引用するキーシーケンスを追加する:
<syntaxhighlight lang="bash">
                     $if Bash
                     $if Bash
                     # Quote the current or previous word
                     # Quote the current or previous word
                     "\C-xq": "\eb\"\ef\""
                     "\C-xq": "\eb\"\ef\""
                     $endif
                     $endif
</syntaxhighlight>


              variable
:;variable
                    The  variable construct  provides simple equality tests for readline variables and
::変数構文は、readline変数と値の簡単な等値テストを提供する。 変数名と比較演算子は空白で区切られ、演算子と右辺の値は空白で区切ることができる。 文字列変数もブーリアン変数もテストすることができる。ブール変数は、onとoffの値に対してテストされなければならない。
                    values. The permitted comparison operators are =, ==, and !=.  The  variable  name
                    must  be  separated from the comparison operator by whitespace; the operator may be
                    separated from the value on the right hand side by  whitespace.  Both  string  and
                    boolean  variables may be tested. Boolean variables must be tested against the val‐
                    ues on and off.


      $endif This command, as seen in the previous example, terminates an $if command.
;$endif  
:このコマンドは、前の例で見たように、$ifコマンドを終了させる。


      $else  Commands in this branch of the $if directive are executed if the test fails.
;$else   
 
:$ifディレクティブのこのブランチにあるコマンドは、テストが失敗した場合に実行される。
      $include
              This directive takes a single filename as an argument and reads commands and bindings from
              that file.  For example, the following directive would read /etc/inputrc:


;$include
:このディレクティブは1つのファイル名を引数として取り、そのファイルからコマンドとバインディングを読み込む。 例えば、以下のディレクティブは/etc/inputrcを読み込む:
<syntaxhighlight lang="bash">
               $include  /etc/inputrc
               $include  /etc/inputrc
</syntaxhighlight>


=== Searching ===
=== Searching ===
      Readline  provides  commands  for  searching  through the command history (see HISTORY below) for
Readlineは、指定した文字列を含む行をコマンド履歴(下記の[[#HISTORY|HISTORY ]]を参照)から検索するためのコマンドを提供する。 インクリメンタルとノンインクリメンタルという2つの検索モードがある。
      lines containing a specified string.  There are two search modes: incremental  and  non-incremen‐
      tal.


      Incremental  searches begin before the user has finished typing the search string.  As each char‐
インクリメンタル検索は、ユーザーが検索文字列を入力し終わる前に開始される。 検索文字列が1文字入力されるごとに、readlineは、これまでに入力された文字列と一致する履歴の次のエントリーを表示する。 インクリメンタルサーチでは、目的の履歴項目を見つけるのに必要な文字数だけ検索を行う。 isearch-terminators変数の値に含まれる文字は、インクリメンタルサーチを終了するために使われる。 この変数に値が割り当てられていない場合、EscapeとControl-J文字がインクリメンタルサーチを終了させる。 Control-G はインクリメンタルサーチを中止し、元の行に戻す。 検索が終了すると、検索文字列を含むヒストリエントリがカレント行になる。
      acter of the search string is typed, readline displays the next entry from the  history  matching
      the  string  typed  so  far.  An incremental search requires only as many characters as needed to
      find the desired history entry.  The characters present in the value of  the  isearch-terminators
      variable  are  used to terminate an incremental search. If that variable has not been assigned a
      value the Escape and Control-J characters will terminate an incremental search.  Control-G will
      abort  an  incremental  search and restore the original line.  When the search is terminated, the
      history entry containing the search string becomes the current line.


      To find other matching entries in the history list, type Control-S or Control-R as  appropriate.
ヒストリリストで他の一致するエントリを検索するには、Control-SまたはControl-Rを入力する。これにより、ヒストリを後方または前方に検索し、これまでに入力された検索文字列に一致する次のエントリーを探す。 リードラインコマンドにバインドされている他のキー・シーケンスは、検索を終了し、そのコマンドを実行する。 例えば、改行は検索を終了し、その行を受け入れ、履歴リストからコマンドを実行する。
      This will search backward or forward in the history for the next entry matching the search string
      typed so far.  Any other key sequence bound to a readline command will terminate the  search  and
      execute  that  command.  For  instance, a newline will terminate the search and accept the line,
      thereby executing the command from the history list.


      Readline remembers the last incremental search string.  If two Control-Rs are typed  without  any
Readlineは最後のインクリメンタルな検索文字列を記憶している。 新しい検索文字列を定義する文字を挟まずにControl-Rが2つ入力された場合、記憶された検索文字列が使用される。
      intervening characters defining a new search string, any remembered search string is used.


      Non-incremental  searches  read  the  entire search string before starting to search for matching
非インクリメンタル検索では、一致する履歴行の検索を開始する前に、検索文字列全体を読み込む。 検索文字列は、ユーザーが入力することもできるし、現在の行の内容の一部であることもできる。
      history lines.  The search string may be typed by the user or be part of the contents of the cur‐
      rent line.


=== Readline Command Names ===
=== Readline Command Names ===
      The following is a list of the names of the commands and the default key sequences to which they
以下は、コマンド名と、それらがバインドされるデフォルトのキー配列のリストである。 キー・シーケンスが付属していないコマンド名は、デフォルトではバインドされていない。 以下の説明では、pointは現在のカーソル位置を指し、markはset-markコマンドによって保存されたカーソル位置を指す。 ポイントとマークの間のテキストは領域と呼ばれる。
      are bound.  Command names without an accompanying key sequence are unbound by  default.  In  the
      following  descriptions, point refers to the current cursor position, and mark refers to a cursor
      position saved by the set-mark command.  The text between the point and mark is  referred  to  as
      the region.


  Commands for Moving
移動のためのコマンド
      beginning-of-line (C-a)
;beginning-of-line (C-a)
              Move to the start of the current line.
:現在の行の先頭に移動する。
      end-of-line (C-e)
;end-of-line (C-e)
              Move to the end of the line.
:最後尾に移動する。
      forward-char (C-f)
;forward-char (C-f)
              Move forward a character.
:キャラクターを進める。
      backward-char (C-b)
;backward-char (C-b)
              Move back a character.
:キャラクターを後退させる。
      forward-word (M-f)
;forward-word (M-f)
              Move  forward  to the end of the next word.  Words are composed of alphanumeric characters
:次の単語の最後に進む。 単語は英数字で構成される (letters and digits).
              (letters and digits).
;backward-word (M-b)
      backward-word (M-b)
:現在または前の単語の先頭に戻る。 単語は英数字(文字と数字)で構成される。
              Move back to the start of the current or previous word.  Words are  composed  of  alphanu‐
;shell-forward-word
              meric characters (letters and digits).
:次の単語の最後に進む。 単語は引用符で囲まれていないシェルのメタ文字で区切られる。
      shell-forward-word
;shell-backward-word
              Move  forward  to  the  end  of  the  next  word.  Words are delimited by non-quoted shell
:現在または前の単語の先頭に戻る。 単語は引用符で囲まれていないシェルのメタ文字で区切られる。
              metacharacters.
;previous-screen-line
      shell-backward-word
:pointを、前の物理的画面行の同じ物理的画面列に移動しようとする。これは、現在のReadline行が1行以上の物理的な行を占めない場合や、 pointがプロンプトの長さにスクリーンの幅を加えた長さより大きくない場合には、望ましい効果をもたらさない。
              Move back to the start of the current or previous word.  Words are delimited by non-quoted
;next-screen-line
              shell metacharacters.
:次の物理的なスクリーン行の同じ物理的なスクリーン列に点を移動しようとする。これは、現在の行が1行以上の物理的な行を占めない場合や、現在の行の長さがプロンプトの長さに画面の幅を足した長さより大きくない場合には、望ましい効果をもたらさない。
      previous-screen-line
;clear-display (M-C-l)
              Attempt  to  move point to the same physical screen column on the previous physical screen
:画面と、可能なら端末のスクロールバックバッファをクリアし、現在の行を画面の一番上に残して再描画する。
              line. This will not have the desired effect if the current Readline line does not take  up
;clear-screen (C-l)
              more  than one physical line or if point is not greater than the length of the prompt plus
:画面をクリアし、現在の行を画面の一番上に残して再描画する。 引数を指定すると、画面をクリアせずに現在の行を更新する。
              the screen width.
;redraw-current-line
      next-screen-line
:現在の行を更新する。
              Attempt to move point to the same physical screen column on the next physical screen line.
              This  will  not have the desired effect if the current Readline line does not take up more
              than one physical line or if the length of the current Readline line is not  greater  than
              the length of the prompt plus the screen width.
      clear-display (M-C-l)
              Clear  the screen and, if possible, the terminal's scrollback buffer, then redraw the cur‐
              rent line, leaving the current line at the top of the screen.
      clear-screen (C-l)
              Clear the screen, then redraw the current line, leaving the current line at the top of the
              screen.  With an argument, refresh the current line without clearing the screen.
      redraw-current-line
              Refresh the current line.


=== Commands for Manipulating the History ===
=== Commands for Manipulating the History ===
      accept-line (Newline, Return)
;accept-line (Newline, Return)
              Accept  the  line regardless of where the cursor is.  If this line is non-empty, add it to
:カーソルがどこにあっても、その行を受け入れる。 この行が空行でない場合は、HISTCONTROL変数の状態に従って履歴リストに追加する。 その行が変更された履歴行であれば、履歴行を元の状態に戻す。
              the history list according to the state of the HISTCONTROL variable.  If  the  line  is  a
;previous-history (C-p)
              modified history line, then restore the history line to its original state.
:履歴リストから前のコマンドを取得し、リスト内に戻る。
      previous-history (C-p)
;next-history (C-n)
              Fetch the previous command from the history list, moving back in the list.
:履歴リストから次のコマンドを取得し、リストを進める。
      next-history (C-n)
;beginning-of-history <nowiki>(M-<)</nowiki>
              Fetch the next command from the history list, moving forward in the list.
:履歴の最初の行に移動する。
      beginning-of-history (M-<)
;end-of-history <nowiki>(M->)</nowiki>
              Move to the first line in the history.
:入力履歴の最後、つまり現在入力中の行に移動する。
      end-of-history (M->)
;reverse-search-history (C-r)
              Move to the end of the input history, i.e., the line currently being entered.
:現在の行から後方へ検索し、必要に応じて履歴を「上」へ移動する。 This is an incremental search.
      reverse-search-history (C-r)
;forward-search-history (C-s)
              Search backward starting at the current line and moving `up' through the history as neces‐
:現在の行から前方へ検索を開始し、必要に応じて履歴を`下へ'移動する。 これはインクリメンタルサーチである。
              sary.  This is an incremental search.
;non-incremental-reverse-search-history (M-p)
      forward-search-history (C-s)
:ユーザーが指定した文字列を非インクリメンタルサーチで検索し、現在の行から始まる履歴を後方へ検索する。
              Search forward starting at the current line and moving `down' through the history as  nec‐
;non-incremental-forward-search-history (M-n)
              essary.  This is an incremental search.
:ユーザーが指定した文字列を非インクリメンタル検索で履歴から前方に検索する。
      non-incremental-reverse-search-history (M-p)
;history-search-forward
              Search  backward  through the history starting at the current line using a non-incremental
:現在の行の先頭からポイントまでの文字列を履歴から前方に検索する。 これは非インクリメンタルサーチである。
              search for a string supplied by the user.
;history-search-backward
      non-incremental-forward-search-history (M-n)
:現在の行の先頭からポイントまでの間の文字列を、履歴を遡って検索する。 これは非インクリメンタルサーチである。
              Search forward through the history using a non-incremental search for a string supplied by
;history-substring-search-backward
              the user.
:現在の行の先頭から現在のカーソル位置(ポイント)までの間の文字列を、ヒストリを後方に検索する。 検索文字列はヒストリ行のどこにマッチしてもよい。 これは非インクリメンタルサーチである。
      history-search-forward
;history-substring-search-forward
              Search  forward  through the history for the string of characters between the start of the
:現在の行の先頭からポイントまでの間の文字列を、履歴の前方から検索する。 検索文字列は、履歴行のどこにマッチしてもよい。 これは非インクリメンタルサーチである。
              current line and the point.  This is a non-incremental search.
;yank-nth-arg (M-C-y)
      history-search-backward
:前のコマンドの最初の引数(通常は前の行の2番目の単語)を point に挿入する。 引数nで、前のコマンドからn番目の単語を挿入する(前のコマンドの単語は単語0から始まる)。 負の引数を指定すると、前のコマンドの最後からn番目の単語が挿入される。 引数nが計算されると、"!n "履歴展開が指定されたかのように、引数が抽出される。
              Search backward through the history for the string of characters between the start of  the
;yank-last-arg (M-., M-_)
              current line and the point.  This is a non-incremental search.
:直前のコマンドの最後の引数(直前の履歴エントリーの最後の単語)を挿入する。 数値引数では、yank-nth-argとまったく同じように動作する。 yank-last-argを連続して呼び出すと、履歴リスト内を遡り、各行の最後の単語(または最初の呼び出しの引数で指定された単語)を順番に挿入する。 これらの連続した呼び出しに与えられる数値引数は、履歴を進む方向を決定する。負の引数は、履歴を進む方向(戻るまたは進む)を切り替える。 ヒストリ展開機能は、"!$"ヒストリ展開が指定されたかのように、最後の単語を抽出するために使用される。
      history-substring-search-backward
;shell-expand-line (M-C-e)
              Search  backward through the history for the string of characters between the start of the
:シェルが行うように行を展開する。 これは、シェルのすべての単語展開と同様に、エイリアス展開とヒストリ展開を行う。 ヒストリ展開の説明については、後述の [[#HISTORY EXPANSION|HISTORY EXPANSION ]] を参照のこと。
              current line and the current cursor position (the point).  The  search  string  may  match
;history-expand-line (M-^)
              anywhere in a history line.  This is a non-incremental search.
:現在の行のヒストリ拡張を行う。 ヒストリ拡張の説明については、以下の「ヒストリ拡張」を参照のこと。
      history-substring-search-forward
;magic-space
              Search  forward  through the history for the string of characters between the start of the
:現在の行にヒストリ拡張を行い、スペースを挿入する。 ヒストリ展開の説明については、以下の「[[#HISTORY EXPANSION|HISTORY EXPANSION ]]」を参照のこと。
              current line and the point.  The search string may match anywhere in a history line.  This
;alias-expand-line
              is a non-incremental search.
:現在の行でエイリアスの展開を行う。 エイリアスの展開については、上記のALIASESを参照のこと。
      yank-nth-arg (M-C-y)
;history-and-alias-expand-line
              Insert the first argument to the previous command (usually the second word on the previous
:現在の行の履歴とエイリアスの展開を行う。
              line) at point.  With an argument n, insert the nth word from the  previous  command  (the
;insert-last-argument (M-., M-_)
              words  in  the  previous  command begin with word 0).  A negative argument inserts the nth
:yank-last-argの同義語。
              word from the end of the previous command.  Once the argument n is computed, the  argument
;operate-and-get-next (C-o)
              is extracted as if the "!n" history expansion had been specified.
:現在行を受け取って実行し、現在行に相対する次の行をヒストリから取得して編集する。 数値引数が与えられていれば、現在行の代わりに使用する履歴エントリを指定する。
      yank-last-arg (M-., M-_)
;edit-and-execute-command (C-x C-e)
              Insert  the  last  argument to the previous command (the last word of the previous history
:現在のコマンドラインでエディタを起動し、その結果をシェルコマンドとして実行する。Bashは、$VISUAL、$EDITOR、emacsの順にエディタとして起動しようとする。
              entry).  With a numeric argument, behave exactly like yank-nth-arg.  Successive  calls  to
              yank-last-arg move  back  through  the history list, inserting the last word (or the word
              specified by the argument to the first call) of each line in turn.  Any  numeric  argument
              supplied  to  these successive calls determines the direction to move through the history.
              A negative argument switches the direction through the history  (back  or  forward).  The
              history expansion facilities are used to extract the last word, as if the "!$" history ex‐
              pansion had been specified.
      shell-expand-line (M-C-e)
              Expand the line as the shell does.  This performs alias and history expansion as  well  as
              all  of  the shell word expansions.  See HISTORY EXPANSION below for a description of his‐
              tory expansion.
      history-expand-line (M-^)
              Perform history expansion on the current line.  See HISTORY EXPANSION below for a descrip‐
              tion of history expansion.
      magic-space
              Perform  history  expansion on the current line and insert a space.  See HISTORY EXPANSION
              below for a description of history expansion.
      alias-expand-line
              Perform alias expansion on the current line.  See ALIASES above for a description of alias
              expansion.
      history-and-alias-expand-line
              Perform history and alias expansion on the current line.
      insert-last-argument (M-., M-_)
              A synonym for yank-last-arg.
      operate-and-get-next (C-o)
              Accept the current line for execution and fetch the next line relative to the current line
              from the history for editing.  A numeric argument, if supplied, specifies the history  en‐
              try to use instead of the current line.
      edit-and-execute-command (C-x C-e)
              Invoke  an  editor  on the current command line, and execute the result as shell commands.
              Bash attempts to invoke $VISUAL, $EDITOR, and emacs as the editor, in that order.


=== 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
:’’stty''などで設定されているファイル終了を示す文字である。 行に文字がなく、pointが行頭にあるときにこの文字が読み込まれると、 Readlineはこれを入力の終わりと解釈し、EOFを返す。
              is  read  when  there  are no characters on the line, and point is at the beginning of the
;delete-char (C-d)
              line, Readline interprets it as the end of input and returns EOF.
:pointの文字を削除する。 C-dが一般的であるように、この関数がttyのEOF文字と同じ文字にバインドされている場合、その影響については上記を参照のこと。
      delete-char (C-d)
;backward-delete-char (Rubout)
              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.
;forward-backward-delete-char
      backward-delete-char (Rubout)
:カーソルが行末にある場合を除き、カーソルの下にある文字を削除する。
              Delete  the  character behind the cursor.  When given a numeric argument, save the deleted
;quoted-insert (C-q, C-v)
              text on the kill ring.
:入力された次の文字をそのまま行に追加する。 これは、例えばC-qのような文字を挿入する方法である。
      forward-backward-delete-char
;tab-insert (C-v TAB)
              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.
;self-insert (a, b, A, 1, !, ...)
      quoted-insert (C-q, C-v)
:入力された文字を挿入する。
              Add  the next character typed to the line verbatim.  This is how to insert characters like
;transpose-chars (C-t)
              C-q, for example.
:pointの前の文字をpointの文字の上にドラッグし、pointも前に移動させる。 pointが行末にある場合、pointの前の2文字を転置する。 負の引数は効果がない。
      tab-insert (C-v TAB)
;transpose-words (M-t)
              Insert a tab character.
:pointの前の単語をドラッグして、pointの後の単語の上にpointを移動させる。pointが行末にある場合は、行末の2つの単語を入れ替える。
      self-insert (a, b, A, 1, !, ...)
;upcase-word (M-u)
              Insert the character typed.
:現在の(またはそれに続く)単語を大文字にする。 負の引数を指定すると、前の単語を大文字にするが、pointは移動しない。
      transpose-chars (C-t)
;downcase-word (M-l)
              Drag the character before point forward over the character at point, moving point  forward
:現在の(またはそれに続く)単語を小文字にする。 負の引数を指定すると、前の単語を小文字にするが、pointは移動しない。
              as  well.  If point is at the end of the line, then this transposes the two characters be‐
;capitalize-word (M-c)
              fore point.  Negative arguments have no effect.
:現在の(または次の)単語を大文字にする。 否定引数では、前の単語を大文字にするが、pointは動かさない。
      transpose-words (M-t)
;overwrite-mode
              Drag the word before point past the word after point, moving point over that word as well.
:上書きモードを切り替える。 明示的な正の数値引数を指定すると、上書きモードに切り替わる。 正でない数値引数を指定すると、挿入モードに切り替わる。 このコマンドはemacsモードにのみ影響する。 readline()の各呼び出しは、insertモードで始まる。 overwriteモードでは、self-insertに束縛された文字は、テキストを右に押し出すのではなく、その位置でテキストを置き換える。 backward-delete-charにバインドされた文字は、pointの前の文字をスペースに置き換える。 デフォルトでは、このコマンドはバインドされていない。
              If point is at the end of the line, this transposes the last two words on the line.
      upcase-word (M-u)
              Uppercase the current (or following) word.  With a negative argument, uppercase the previ‐
              ous word, but do not move point.
      downcase-word (M-l)
              Lowercase the current (or following) word.  With a negative argument, lowercase the previ‐
              ous word, but do not move point.
      capitalize-word (M-c)
              Capitalize the current (or following) word.  With a negative argument, capitalize the pre‐
              vious word, but do not move point.
      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 com‐
              mand 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  back‐
              ward-delete-char  replace  the character before point with a space.  By default, this com‐
              mand is unbound.


=== 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
:pointから行頭まで後方にキルする。 キルされたテキストはキルリングに保存される。
              kill-ring.
;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)
:pointから現在の単語の終わりまで、または単語と単語の間の場合は次の単語の終わりまでをキルする。 単語の境界はforward-wordで使われるものと同じである。
              Kill  from  point  to  the end of the current word, or if between words, to the end of the
;backward-kill-word (M-Rubout)
              next word.  Word boundaries are the same as those used by forward-word.
:後ろの単語を殺す。 単語の境界線はbackward-wordで使われるものと同じである。
      backward-kill-word (M-Rubout)
;shell-kill-word
              Kill the word behind point.  Word boundaries are the same as those used by backward-word.
:pointから現在の単語の終わりまで、または単語と単語の間の場合は次の単語の終わりまでをキルする。 単語の境界は、shell-forward-wordで使われるものと同じである。
      shell-kill-word
;shell-backward-kill-word
              Kill from point to the end of the current word, or if between words, to  the  end  of  the
:pointの後ろの単語を消す。 単語の境界はshell-backward-wordで使われるものと同じである。
              next word.  Word boundaries are the same as those used by shell-forward-word.
;unix-word-rubout (C-w)
      shell-backward-kill-word
:空白を単語の境界として、pointの後ろの単語を殺す。 キルされたテキストはキルリングに保存される。
              Kill  the  word  behind  point.  Word boundaries are the same as those used by shell-back‐
;unix-filename-rubout
              ward-word.
:空白文字とスラッシュ文字を単語の境界として、pointの後ろの単語を消す。 キルされたテキストはキルリングに保存される。
      unix-word-rubout (C-w)
;delete-horizontal-space (M-\)
              Kill the word behind point, using white space as a word boundary.  The  killed  text  is
:pointの周りのスペースとタブをすべて削除する。
              saved on the kill-ring.
;kill-region
      unix-filename-rubout
:現在の領域のテキストを消す。
              Kill  the  word behind point, using white space and the slash character as the word bound‐
;copy-region-as-kill
              aries.  The killed text is saved on the kill-ring.
:領域内のテキストをキルバッファにコピーする。
      delete-horizontal-space (M-\)
;copy-backward-word
              Delete all spaces and tabs around point.
:point前のワードをキルバッファにコピーする。 ワード境界はバックワードワードと同じである。
      kill-region
;copy-forward-word
              Kill the text in the current region.
:ワードに続く点をキルバッファにコピーする。 ワード境界はforward-wordと同じである。
      copy-region-as-kill
;yank (C-y)
              Copy the text in the region to the kill buffer.
:キリング上部をバッファーの中に引き込む。
      copy-backward-word
;yank-pop (M-y)
              Copy the word before point to the kill buffer.  The word boundaries are the same as  back‐
:キルリングを回転させ、新しいトップをヤンクする。 ヤンクまたはヤンクポップに続いてのみ機能する。
              ward-word.
      copy-forward-word
              Copy  the  word  following  point to the kill buffer.  The word boundaries are the same as
              forward-word.
      yank (C-y)
              Yank the top of the kill ring into the buffer at point.
      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
:既に蓄積されている引数にこの桁を追加するか、新しい引数を開始する。 M--負の引数を開始する。
              a negative argument.
;universal-argument
      universal-argument
:これは、引数を指定するもう1つの方法である。 このコマンドの後に1桁以上の数字が続き、オプションで先頭にマイナス記号が付く場合、その数字が引数を定義する。 このコマンドの後に数字が続く場合、再度universal-argumentを実行すると数値引数は終了するが、それ以外は無視される。 特殊なケースとして、このコマンドの直後に数字でもマイナス記号でもない文字が続く場合、次のコマンドの引数カウントは4倍になる。 引数カウントは最初は1なので、この関数を1回目に実行すると引数カウントは4となり、2回目に実行すると引数カウントは16となる。
              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 argu‐
              ment, but is otherwise ignored.  As a special case, if this command  is  immediately  fol‐
              lowed  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 argu‐
              ment count sixteen, and so on.


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


=== 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 ()
:最後に定義されたキーボードマクロを inputrc ファイルに適した形式で表示する。
              Print the last keyboard macro defined in a format suitable for the inputrc file.


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


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


      First,  the  command name is identified.  If the command word is the empty string (completion at‐
まず、コマンド名が特定される。 コマンドワードが空文字列の場合(空行の先頭で補完が試みられる)、completeの-Eオプションで定義されたcompspecが使用される。 そのコマンドに対してcompspecが定義されている場合は、そのcompspecを使用して、その単語に対して可能な補完のリストを生成する。 コマンドの単語がフルパス名の場合、フルパス名に対するcompspecが最初に検索される。 完全なパス名に対応するcompspecが見つからない場合は、最後のスラッシュに続く部分のcompspecを検索する。 これらの検索の結果、compspecが見つからなかった場合、 completeの-Dオプションで定義されたcompspecがデフォルトとして使用される。 デフォルトのcompspecがない場合、bashは最終手段としてコマンド語のエイリアス展開を試み、成功した展開からコマンド語のcompspecを見つけようとする。
      tempted 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.


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


      First, the actions specified by the compspec are used.  Only matches which are  prefixed  by  the
まず、compspecで指定されたアクションが使用される。 補完される単語の接頭辞を持つマッチのみが返される。 ファイル名またはディレクトリ名の補完に -f または -d オプションが使用されている場合、シェル変数 FIGNORE がマッチのフィルタリングに使用される。
      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.


      Any completions specified by a pathname expansion pattern to the -G option  are  generated  next.
Gオプションのパス名展開パターンで指定された補完が次に生成される。パターンによって生成される単語は、補完される単語と一致する必要はない。 GLOBIGNOREシェル変数はマッチのフィルタリングには使われず、FIGNORE変数が使われる。
      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.


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


      After these matches have been generated, any shell function or command specified with the -F  and
これらのマッチが生成された後、-Fおよび-Cオプションで指定されたシェル関数またはコマンドが呼び出される。 コマンドまたは関数が呼び出されると、COMP_LINE、COMP_POINT、COMP_KEY、COMP_TYPE 変数には、前述の「シェル変数」で説明した値が代入される。
      -C  options  is invoked.  When  the  command or function is invoked, the COMP_LINE, COMP_POINT,
シェル関数が呼び出される場合、COMP_WORDS 変数と COMP_CWORD 変数も設定される。 関数またはコマンドが呼び出されると、第1引数($1)は補完される引数のコマンド名、第2引数($2)は補完される単語、第3引数($3)は現在のコマンド行で補完される単語の前にある単語である。 生成された補完語を補完される単語と照合するフィルタリングは行われない。
      COMP_KEY, and COMP_TYPE variables are assigned values as described above under  Shell  Variables.
      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  ar‐
      guments  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 func‐
      tion or command has complete freedom in generating the matches.


      Any function specified with -F is invoked first.  The function may use any of the  shell  facili‐
Fで指定された関数は最初に呼び出される。 この関数は、後述の compgen 組み込み関数を含む、シェルのどの機能を使ってもマッチを生成できる。 この関数は、COMPREPLY配列変数に、配列の要素ごとに1つずつ、可能な補完を入れなければならない。
      ties,  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.


      Next, any command specified with the -C option is invoked in an environment equivalent to command
次に、-Cオプションで指定されたコマンドが、コマンド置換と同等の環境で起動される。 このコマンドは、1行に1つずつ、補完候補のリストを標準出力に出力する。必要であれば、バックスラッシュを使って改行をエスケープすることもできる。
      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.


      After all of the possible completions are generated, any filter specified with the -X  option  is
すべての補完候補が生成された後、-Xオプションで指定されたフィルターがリストに適用される。 フィルターとは、パス名展開に使われるパターンである。パターン中の&は、補完される単語のテキストに置き換えられる。 リテラル&は、バックスラッシュでエスケープすることができる。バックスラッシュは、マッチを試みる前に取り除かれる。 パターンにマッチした補完はすべてリストから削除される。 この場合、パターンにマッチしない補完はすべて削除される。 nocasematchシェルオプションが有効な場合、アルファベットの大文字小文字を区別せずにマッチが行われる。
      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  back‐
      slash;  the backslash is removed before attempting a match.  Any completion that matches the pat‐
      tern 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.


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


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


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


      By default, if a compspec is found, whatever it generates is returned to the completion  code  as
デフォルトでは、compspecが見つかった場合、そのcompspecが生成するものはすべて、可能な補完のフルセットとして補完コードに返される。 デフォルトのbash補完は試行されず、readlineデフォルトのファイル名補完は無効になる。 compspec の定義時に -o bashdefault オプションが指定されていた場合、compspec がマッチを生成しなかった場合は bash のデフォルト補完が試行される。 compspec 定義時に -o default オプションを指定して補完を行なった場合、compspec (および試行された場合はデフォルトの bash 補完) がマッチしない場合、readline のデフォルト補完が実行される。
      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  comp‐
      spec  was  defined,  readline's default completion will be performed if the compspec (and, if at‐
      tempted, the default bash completions) generate no matches.


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


      There  is  some  support for dynamically modifying completions.  This is most useful when used in
補完を動的に変更するサポートもある。 これは、complete -Dで指定されたデフォルトの補完と組み合わせて使用する場合に最も便利である。 補完ハンドラとして実行されるシェル関数は、終了ステータス124を返すことで、補完を再試行すべきであることを示すことができる。 シェル関数が124を返し、(関数が実行されたときに最初の引数として与えられた)補完を試みているコマンドに関連するcompspecを変更した場合、プログラマブル補完は、そのコマンドの新しいcompspecを見つけようとして、最初からやり直す。 これにより、一度にすべてを読み込むのではなく、補完を試みるたびに動的に補完セットを構築することができる。
      combination with a default completion specified with complete -D.  It's possible for shell  func‐
      tions  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 func‐
      tion 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 com‐
      pletion is attempted, rather than being loaded all at once.


      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 dynami‐
      cally:


<syntaxhighlight lang="bash">
       _completion_loader()
       _completion_loader()
       {
       {
Line 2,434: Line 1,821:
       }
       }
       complete -D -F _completion_loader -o bashdefault -o default
       complete -D -F _completion_loader -o bashdefault -o default
</syntaxhighlight>


== HISTORY ==
== HISTORY ==
      When the -o history option to the set builtin is enabled, the shell provides access to  the  com‐
set 組み込み関数の -o history オプションを有効にすると、シェルはコマンド履歴(以前に入力したコマンドのリスト)にアクセスできるようになる。 '''HISTSIZE''' 変数の値は、履歴リストに保存するコマンドの数として使用される。 最後のHISTSIZEコマンド(デフォルト500)のテキストが保存される。 シェルは、パラメータと変数の拡張(上記のEXPANSIONを参照)の前に、ヒストリ拡張が実行された後に、シェル変数'''HISTIGNORE'''と'''HISTCONTROL'''の値に従って、各コマンドをヒストリリストに保存する。
      mand  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 (de‐
      fault  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.
 
      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 un‐
      set, 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.
      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.


      The builtin command fc (see SHELL BUILTIN COMMANDS below) may be used to list or edit and re-exe‐
起動時に、履歴は変数'''HISTFILE'''で指定されたファイル(デフォルトは~/.bash_history)から初期化される。 '''HISTFILE'''の値で指定されたファイルは、必要に応じて'''HISTFILESIZE'''の値で指定された行数以下に切り詰められる。 '''HISTFILESIZE'''が未設定、またはNULL、非数値、0未満の数値に設定されている場合、 履歴ファイルは切り捨てられない。 ヒストリファイルが読み込まれると、ヒストリコメント文字の直後に数字が続く行は、次のヒストリ行のタイムスタンプとして解釈される。これらのタイムスタンプは、変数'''HISTTIMEFORMAT'''の値に応じてオプションで表示される。
      cute a portion of the history list.  The history builtin may be used to  display  or modify  the
履歴を有効にしたシェルが終了すると、最後の $HISTSIZE 行が履歴リストから $HISTFILE にコピーされる。 histappend シェル・オプションが有効な場合 (以下の [[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]] の shopt の説明を参照のこと)、その行はヒストリ・ファイルに追加される。 HISTFILEが設定されていない場合、または履歴ファイルが書き込み不可能な場合、履歴は保存されない。 '''HISTTIMEFORMA'''T変数が設定されている場合、履歴ファイルにタイムスタンプが書き込まれ、履歴コメント文字でマークされる。 これは、タイムスタンプを他のヒストリ行と区別するためにヒストリコメント文字を使用する。 ヒストリを保存した後、ヒストリファイルは'''HISTFILESIZE'''行以下に切り詰められる。 '''HISTFILESIZE'''が設定されていないか、NULL、数値以外、または0未満の数値に設定されている場合、ヒストリファイルは切り捨てられない。
      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.


      The shell allows control over which commands are saved on the history list.  The HISTCONTROL and
組み込みコマンドfc(後述の「[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]」を参照)を使用して、ヒストリリストの一部を一覧表示または編集して再実行することができる。 history組み込みコマンドは、履歴リストの表示や変更、履歴ファイルの操作に使用できる。 コマンドライン編集を使用する場合、各編集モードで履歴リストにアクセスできる検索コマンドが利用できる。
      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  multi-
cmdhist シェル・オプションを有効にすると、シェルは複数行のコマンドの各行を同じ履歴エントリに保存しようとし、構文の正しさを保つために必要な場合はセミコロンを追加する。 lithist シェル・オプションは、セミコロンの代わりに改行を埋め込んでコマンドを保存するようにする。 シェル・オプションの設定と解除については、後述の「[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]」の shopt 組み込みコマンドの説明を参照のこと。
      line  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  new‐
      lines  instead of semicolons.  See the description of the shopt builtin below under SHELL BUILTIN
      COMMANDS for information on setting and unsetting shell options.


== 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
このセクションでは、どのような構文機能が利用できるかを説明する。 この機能は対話型シェルではデフォルトで有効になっており、set builtin コマンドの +H オプションを使用して無効にすることができる(後述の「SHELL BUILTIN COMMANDS」を参照)。 非対話型シェルは、デフォルトではヒストリ展開を行わない。
      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 de‐
      fault.


      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
ヒストリ展開は、完全な行が読み込まれた直後、シェルがそれを単語に分割する前に実行され、前の行のクォートを考慮することなく、各行に対して個別に実行される。 これは2つの部分に分かれて行われる。 1つ目は、置換時に履歴リストからどの行を使用するかを決定することである。 もうひとつは、その行の一部を現在の行に含めるために選択することである。 履歴から選択された行がイベントであり、その行の一部が単語となる。 選択された単語を操作するために、さまざまな修飾子が利用できる。 行は入力を読むときと同じ方法で単語に分割され、引用符で囲まれたメタ文字で区切られた複数の単語は1つの単語とみなされる。 ヒストリ拡張は、ヒストリ拡張文字(デフォルトではヒストリ展開文字を引用符で囲むことができるのは、バックスラッシュ( \ )と一重引用符だけであるが、二重引用符で囲んだ文字列の閉じ二重引用符の直前にヒストリ展開文字がある場合も、引用符で囲んだものとして扱われる。
      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 in‐
      clusion 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 ex‐
      pansions are introduced by the appearance of the history expansion character, which is ! by  de‐
      fault.   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 dou‐
      ble quote in a double-quoted string.


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


      Several  shell options settable with the shopt builtin may be used to tailor the behavior of his‐
shopt 組み込み関数で設定可能ないくつかのシェル・オプションを使用して、ヒストリ展開の動作を調整することができる。 histverify シェル・オプションが有効で(後述の [[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]の説明を参照)、readline が使用されている場合、ヒストリ置換はシェル・パーサにすぐには渡されない。 その代わりに、展開された行はreadline編集バッファに再ロードされ、さらに修正される。 readlineが使用されていて、histreeditシェルオプションが有効になっている場合、失敗したヒストリ置換は修正のためにreadline編集バッファにリロードされる。
      tory expansion.  If the histverify shell option is enabled (see  the  description  of  the  shopt
history 組み込みコマンドの -p オプションを使用すると、ヒストリ拡張を使用する前に、その拡張が何をするかを確認することができる。 history組み込みコマンドの-sオプションは、コマンドを実際に実行することなく、履歴リストの最後に追加するために使用される。
      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.
      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 re‐
      call.


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


=== Event Designators ===
=== Event Designators ===
      An event designator is a reference to a command line entry in the history list.  Unless the  ref‐
イベント・デジグネーターは、ヒストリーリスト内のコマンドラインエントリーの参照である。 参照が絶対的でない限り、イベントはヒストリーリストの現在の位置からの相対的なものである。
      erence is absolute, events are relative to the current position in the history list.
;!       
 
:空白、改行、キャリッジリターン、=、または ( shopt 組み込み関数で extglob シェルオプションが有効になっている場合) が続く場合を除き、履歴置換を開始する。
      !      Start a history substitution, except when followed by a blank, newline, carriage return, =
;!n
              or ( (when the extglob shell option is enabled using the shopt builtin).
:コマンドラインnを参照のこと。
      !n     Refer to command line n.
;!-n
      !-n   Refer to the current command minus n.
:現在のコマンドマイナスnを参照。
      !!     Refer to the previous command.  This is a synonym for `!-1'.
;!!
      !string
:前のコマンドを参照のこと。 これは `!-1' と同意語である。
              Refer to the most recent command preceding the current position in the history list start‐
;!string
              ing with string.
:文字列で始まる履歴リストで、現在の位置より前にある最新のコマンドを参照する。
      !?string[?]
;!?string<nowiki>[?]</nowiki>
              Refer  to the most recent command preceding the current position in the history list con‐
:stringを含む履歴リストで、現在の位置より前にある最新のコマンドを参照する。 stringの直後に改行が続く場合、末尾の ? は省略できる。 stringがない場合、最新の検索文字列が使われる。以前の検索文字列がない場合はエラーとなる。
              taining string.  The trailing ? may be omitted if string is followed immediately by a new‐
;^string1^string2^
              line.  If string is missing, the string from the most recent search is used; it is an er‐
:素早く置換する。 文字列1を文字列2に置き換えて、前のコマンドを繰り返す。 (以下の[[#Modifiers|Modifiers ]]を参照のこと)。
              ror if there is no previous search string.
;!#
      ^string1^string2^
:これまでに入力されたコマンドライン全体。
              Quick substitution.  Repeat the previous command, replacing string1 with string2.  Equiva‐
              lent to ``!!:s^string1^string2^'' (see Modifiers below).
      !#     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 speci‐
単語指定子は、イベントから必要な単語を選択するために使用される。 は、イベントの指定と単語指示子を区切る。 単語指定子が^$*-%で始まる場合は省略できる。 単語は行頭から順に番号付けされ、最初の単語は0(ゼロ)で示される。 単語は、現在の行に半角スペースで区切って挿入される。
      fication 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 (zero)
;0 (zero)
              The zeroth word.  For the shell, this is the command word.
:番目の単語。 シェルでは、これはコマンドワードである。
      n     The nth word.
;n
      ^     The first argument.  That is, word 1.
:The nth word.
      $     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である。
      %     The  first  word matched by the most recent `?string?' search, if the search string begins
;$
              with a character that is part of a word.
:最後の単語。 これは通常最後の引数だが、行に単語が1つしかない場合は0番目の単語に展開される。
      x-y   A range of words; `-y' abbreviates `0-y'.
;%
      *     All of the words but the zeroth.  This is a synonym for `1-$'.  It is not an error to  use
:検索文字列が単語の一部である文字で始まっている場合、直近の `?string?' 検索でマッチした最初の単語。
              * if there is just one word in the event; the empty string is returned in that case.
;x-y
      x*     Abbreviates x-$.
:'-y'は'0-y'を省略したものである。
      x-     Abbreviates x-$ like x*, but omits the last word.  If x is missing, it defaults to 0.
;*
:0番目以外のすべての単語。 これは `1-$' と同意語である。 その場合は空文字列が返される。
;x*
:Abbreviates x-$.
;x-
: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
オプションの単語指示子の後には、それぞれ`:'で始まる1つ以上の修飾子が現れる。 これらは、履歴イベントから選択された単語を修正する。
      modifiers,  each  preceded  by a `:'.  These modify, or edit, the word or words selected from the
      history event.


      h     Remove a trailing filename component, leaving only the head.
;h
      t     Remove all leading filename components, leaving the tail.
:末尾のファイル名コンポーネントを削除し、先頭だけを残す。
      r     Remove a trailing suffix of the form .xxx, leaving the basename.
;t
      e     Remove all but the trailing suffix.
:ファイル名の先頭をすべて削除し、末尾を残す。
      p     Print the new command but do not execute it.
;r
      q     Quote the substituted words, escaping further substitutions.
:.xxx 形式の末尾のサフィックスを削除し、ベース名を残す。
      x     Quote the substituted words as with q, but break into words at blanks and newlines.  The q
;e
              and x modifiers are mutually exclusive; the last one supplied is used.
:末尾の接尾辞以外はすべて削除する。
      s/old/new/
;p
              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
;q
              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
;x
              &.  If old is null, it is set to the last old substituted, or, if no previous history sub‐
:qと同様に置換された単語を引用するが、空白と改行で単語を区切る。 q修飾子とx修飾子は互いに排他的であり、最後に与えられたものが使われる。
              stitutions took place, the last string in a !?string[?] search.  If  new  is  null,  each
;s/old/new/
              matching old is deleted.
:イベント行で最初に出現するoldをnewに置き換える。 最後のデリミタは、イベント行の最後の文字であれば任意である。 デリミタは、バックスラッシュ1つでoldとnewで引用することができる。 もし&がnewに現れた場合、それはoldに置き換えられる。 シングル・バックスラッシュは&を引用符で囲む。 oldがNULLの場合、最後に置換されたoldに設定され、それ以前に履歴の置換が行われなかった場合は、!?string[?]検索の最後の文字列に設定される。 newがNULLの場合、一致するoldはすべて削除される。
      &      Repeat the previous substitution.
;&
      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
;g
              place  of  /, and the final delimiter is optional if it is the last character of the event
:変更をイベント行全体に適用する。 これは `:s' (例えば `:gs/old/new/') または `:&' と組み合わせて使う。 s' と一緒に使う場合、/の代わりにどんな区切り文字でも使うことができ、最後の区切り文字がイベント行の最後の文字であれば省略可能である。 gの同義語としてaを使うこともできる。
              line.  An a may be used as a synonym for g.
;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 pre‐
特に断りのない限り、このセクションでオプションを受け付けるとして文書化されている各 組み込みコマンドは、オプションの終わりを示す -- を受け付ける。 test/[、true、false、test/[ 組み込み関数はオプションを受け付けず、 -- を特別に扱わない。 exit、logout、return、break、continue、let、shift 組み込み関数は、-- を必要とせずに - で始まる引数を受け入れ処理する。
      ceded 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,
;<nowiki>: [arguments]</nowiki>
      let,  and  shift  builtins  accept  and  process arguments beginning with - without requiring --.
:コマンドは引数を展開し、指定されたリダイレクションを実行するだけで、何もしない。 リターンステータスは0である。
      Other builtins that accept arguments but are not specified as accepting options  interpret  argu‐
      ments beginning with - as invalid options and require -- to prevent this interpretation.
      : [arguments]
              No  effect;  the command does nothing beyond expanding arguments and performing any speci‐
              fied redirections.  The return status is zero.


        .  filename [arguments]
;<nowiki>.  filename [arguments]</nowiki>
      source filename [arguments]
;<nowiki>source filename [arguments]</nowiki>
              Read and execute commands from filename in the current shell environment  and  return  the
:現在のシェル環境で 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である。
              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  sta‐
              tus  is the status of the last command exited within the script (0 if no commands are exe‐
              cuted), and false if filename is not found or cannot be read.


      alias [-p] [name[=value] ...]
;<nowiki>alias [-p] [name[=value] ...]</nowiki>
              Alias with no arguments or with the -p option prints the list of aliases in the form alias
:引数なし、または-pオプションを指定したAliasは、alias name=valueという形式でエイリアスのリストを標準出力に表示する。 引数が与えられると、値が与えられる各名称に対してエイリアスが定義される。 valueの末尾に空白があると、エイリアスが展開されるときに、次の単語でエイリアスの置換がチェックされる。 値が与えられていない引数リストの各名に対して、エイリアスの名前と値が表示される。 エイリアスが定義されていない名前が与えられない限り、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.


      bg [jobspec ...]
;<nowiki>bg [jobspec ...]</nowiki>
              Resume each suspended job jobspec in the background, as if it had been started with &.  If
:中断された各 jobspec をバックグラウンドで再開する。 jobspecが存在しない場合、シェルの現在のジョブの概念が使用される。 bg jobspecは、ジョブ制御が無効になっているときに実行されない限り0を返し、ジョブ制御が有効になっているときに実行された場合は、指定されたjobspecが見つからないか、ジョブ制御なしで開始された。
              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 spec‐
              ified jobspec was not found or was started without job control.


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


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


      caller [expr]
;<nowiki>caller [expr]</nowiki>
              Returns the context of any active subroutine call (a shell function or a  script  executed
:アクティブなサブルーチン呼び出し(シェル関数、.または source 組み込み関数で実行されるスクリプト)のコンテキストを返す。 expr を指定しないと、呼び出し元は現在のサブルーチン呼び出しの行番号とソースファイル名を表示する。 exprとして負でない整数が指定された場合、呼び出し元は、現在の実行呼び出しスタックのその位置に対応する行番号、サブルーチン名、およびソースファイルを表示する。 この追加情報は、スタックトレースを表示する場合などに使用できる。 シェルがサブルーチン呼び出しを実行していないか、exprがコールスタックの有効な位置に対応していない場合を除き、戻り値は0である。
              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 ex‐
              ample,  to  print a stack trace.  The current frame is frame 0.  The return value is 0 un‐
              less the shell is not executing a subroutine call or expr does not correspond to  a  valid
              position in the call stack.


      cd [-L|[-P [-e]] [-@]] [dir]
;<nowiki>cd [-L|[-P [-e]] [-@]] [dir]</nowiki>
              Change  the current directory to dir.  if dir is not supplied, the value of the HOME shell
:dirが与えられない場合、'''HOME'''シェル変数の値が デフォルトとなる。 dirに続く追加の引数は無視される。 変数'''CDPATH'''は、dirを含むディレクトリの検索パスを定義する。 '''CDPATH'''内の代替ディレクトリ名は、コロン(:)で区切られる。 '''CDPATH'''内のディレクトリ名がNULLの場合、カレントディレクトリと同じ、つまり ``.  dirがスラッシュ(/)で始まる場合、'''CDPATH'''は使われない。 -Pオプションをつけると、cdはdirを走査している間、dir中の...のインスタンスを処理する前にシンボリックリンクを解決して物理的なディレクトリ構造を使用するようになる(set組み込みコマンドの-Pオプションも参照のこと)。 .がdirに現れた場合、dirから直前のパス名コンポーネントを削除し、スラッシュまたはdirの先頭に戻して処理される。-Pとともに-eオプションが与えられ、ディレクトリ変更に成功した後にカレント作業ディレクトリを正しく決定できない場合、cdは失敗ステータスを返す。 これをサポートするシステムでは、-@オプションは、ファイルに関連する拡張属性をディレクトリとして表示する。 引数-は、ディレクトリの変更を試みる前に$OLDPWDに変換される。 '''CDPATH'''から空でないディレクトリ名が使用された場合、または - が最初の引数で、ディレクトリ変更が成功した場合、 新しい作業ディレクトリの絶対パス名が標準出力に書き出される。 戻り値は、ディレクトリの変更が成功した場合は真、そうでない場合は偽である。
              variable is the default.  Any additional arguments following dir are ignored.  The  vari‐
              able 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 success‐
              fully  determined after a successful directory change, cd will return an unsuccessful sta‐
              tus.  On systems that support it, the -@ option presents the extended  attributes  associ‐
              ated  with a file as a directory.  An argument of - is converted to $OLDPWD before the di‐
              rectory 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.


      command [-pVv] command [arg ...]
;<nowiki>command [-pVv] command [arg ...]</nowiki>
              Run command with args suppressing the normal shell function lookup.  Only builtin commands
:通常のシェル関数検索を抑制して、argsでコマンドを実行する。 組み込みコマンドまたは '''PATH''' で見つかったコマンドのみが実行される。 -pオプションが与えられると、標準ユーティリティがすべて見つかることが保証されている'''PATH'''のデフォルト値を用いてコマンドの検索が行われる。 -Vまたは-vオプションが与えられると、コマンドの説明が表示される。 -vオプションを指定すると、コマンドを呼び出すために使用されたコマンドまたはファイル名を示す単一の単語が表示される。 -Vまたは-vオプションが指定された場合、コマンドが見つかれば終了ステータスは0になり、見つからなければ1になる。 どちらのオプションも指定されず、エラーが発生したかコマンドが見つからなかった場合、終了ステータスは127となる。 それ以外の場合は、コマンド組み込み関数の終了ステータスが command の終了ステータスになる。
              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 sta‐
              tus  is 127.  Otherwise, the exit status of the command builtin is the exit status of com‐
              mand.


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


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


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


      complete [-abcdefgjksuv] [-o comp-option] [-DEI] [-A action] [-G globpat] [-W wordlist]
;<nowiki>complete [-abcdefgjksuv] [-o comp-option] [-DEI] [-A action] [-G globpat] [-W wordlist]</nowiki>
              [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] name [name ...]
:;<nowiki>[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] name [name ...]</nowiki>
      complete -pr [-DEI] [name ...]
;<nowiki>complete -pr [-DEI] [name ...]</nowiki>
              Specify  how arguments to each name should be completed.  If the -p option is supplied, or
:各名前に対する引数をどのように補完するかを指定する。 -pオプションが与えられている場合、またはオプションが与えられていない場合、既存の補完指定が入力として再利用できるような形で出力される。 rオプションは、各名前の補完指定を削除し、名前が与えられていない場合は、すべての補完指定を削除する。 -Dオプションは、他のオプションやアクションが``default''コマンドの 補完に適用されることを示す。 -Eオプションは他のオプションやアクションが``empty''コマンド補完に適用されることを示す。 -Iオプションは、他のオプションやアクションが、その行の最初の非割り当ての単語、またはコマンドの区切り文字(;|など)の後の補完に適用されることを示す。 複数のオプションが指定された場合、-Dオプションは-Eよりも優先され、両者は-Iよりも優先される。 -D、-E、-Iのいずれかを指定すると、他の名前引数は無視される。
              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 in‐
              dicates  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  previ‐
              ously  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 sup‐
              plied, 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.


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


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


      compopt [-o option] [-DEI] [+o option] [name]
;<nowiki>compopt [-o option] [-DEI] [+o option] [name]</nowiki>
              Modify completion options for each name according to the options, or for the currently-ex‐
:オプションにしたがって各名称の補完オプションを変更するか、名前が与えられていない場合は現在実行中の補完オプションを変更する。 オプションが与えられない場合は、各名前または現在実行中の補完の補完オプションを表示する。 optionに指定できる値は、前述の完全組み込み関数で有効な値である。 Dオプションは、他のオプションが ``デフォルト'' コマンド補完に適用されることを示す。 Eオプションは、他のオプションが``empty''コマンド補完に適用される ことを示す。 Iオプションは、他のオプションが、その行の最初の非割り当ての単語、またはコマンドの区切り文字である;|の後の補完に適用されることを示す。
              ecuting completion if no names are supplied.  If no options are given, display the comple‐
              tion 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 op‐
              tions 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.


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


      continue [n]
;<nowiki>continue [n]</nowiki>
              Resume  the  next  iteration  of the enclosing for, while, until, or select loop.  If n is
:for、while、until、またはselectループの次の反復を再開する。 nが指定された場合、n番目のループで再開する。 nがループの数より大きい場合、最後のループ(``トップレベル''ループ)が再開される。nが1以上でなければ、戻り値は0である。
              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.


      declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]
;<nowiki>declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]</nowiki>
      typeset [-aAfFgiIlnrtux] [-p] [name[=value] ...]
;<nowiki>typeset [-aAfFgiIlnrtux] [-p] [name[=value] ...]</nowiki>
              Declare variables and/or give them attributes.  If no names are  given  then  display  the
:変数を宣言したり、属性を与えたりする。 名前が与えられていない場合は、変数の値を表示する。 -pオプションは、それぞれの名前の属性と値を表示する。-pが名前引数とともに使われた場合、-fと-F以外の追加オプションは無視される。 名前引数なしで -p を指定すると、追加オプションで指定された属性を持つすべての変数の属性と値が表示される。 他のオプションが -p とともに与えられない場合、 declare はすべてのシェル変数の属性と値を表示する。 -f オプションは、表示をシェル関数に限定する。 -F オプションは関数定義の表示を禁止し、関数名と属性のみが表示される。 shoptを使用してextdebugシェル・オプションを有効にすると、各名称が定義されているソース・ファイル名と行番号も表示される。 -F オプションは -f を意味する。 gオプションは、declareがシェル関数の中で実行された場合でも、変数をグローバル・スコープで作成または変更することを強制する。 それ以外の場合は無視される。 -Iオプションは、ローカル変数の属性(nameref属性を除く)と値を、周囲のスコープに存在する同名の変数に継承させる。 既存の変数がない場合、ローカル変数は初期状態で設定されない。 以下のオプションを使うと、指定した属性を持つ変数に出力を制限したり、変数に属性を与えたりすることができる:
              values  of  variables.  The -p option will display the attributes and values of each name.
:;-a    
              When -p is used with name arguments, additional options, other than -f  and  -F,  are  ig‐
:::各名称はインデックス付き配列変数である(上記の「[[#Arrays|Arrays ]]」を参照)。
              nored.  When -p is  supplied without name arguments, it will display the attributes and
:;-A
              values of all variables having the attributes specified by the additional options.  If  no
::それぞれの名前は連想配列変数である(上記の「[[#Arrays|Arrays ]]」を参照)。
              other  options are supplied with -p, declare will display the attributes and values of all
:;-f
              shell variables.  The -f option will restrict the display to shell functions.  The -F op‐
::関数名のみを使用する。
              tion  inhibits  the display of function definitions; only the function name and attributes
:;-i
              are printed.  If the extdebug shell option is enabled using shopt, the  source  file  name
::変数は整数として扱われ、変数に値が代入されると算術評価(上記のARITHMETIC EVALUATIONを参照)が行われる。
              and  line  number where each name is defined are displayed as well.  The -F option implies
:;-l
              -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
:;-n
              option causes local variables to inherit the attributes (except the nameref attribute) and
::それぞれのnameにnameref属性を与え、別の変数への名前参照とする。 その別の変数は name の値によって定義される。 nameに対するすべての参照、代入、属性の変更は、-n属性そのものを使用または変更するものを除き、nameの値によって参照される変数に対して実行される。 nameref属性は配列変数には適用できない。
              value  of any existing variable with the same name at a surrounding scope.  If there is no
:;-r
              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 at‐
:;-t
              tributes:
::それぞれの名前に trace 属性を与える。 トレースされた関数は、呼び出し元のシェルから DEBUG RETURN トラップを継承する。 trace 属性は変数に対して特別な意味を持たない。
              -a    Each name is an indexed array variable (see Arrays above).
:;-u
              -A     Each name is an associative array variable (see Arrays above).
::変数に値が代入されると、小文字はすべて大文字に変換される。 小文字属性は無効になる。
              -f     Use function names only.
:;-x
              -i     The variable is treated as an integer; arithmetic evaluation (see ARITHMETIC EVALU‐
::環境を通して後続のコマンドにエクスポートする名前をマークする。
                    ATION above) is performed when the variable is assigned a value.
              -l     When  the  variable is assigned a value, all upper-case characters are converted to
                    lower-case.  The upper-case attribute is disabled.
              -n     Give each name the nameref attribute, making it a name reference to  another  vari‐
                    able.  That  other variable is defined by the value of name.  All references, as‐
                    signments, 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.
              -r     Make names readonly.  These names cannot then be assigned values by subsequent  as‐
                    signment statements or unset.
              -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 vari‐
                    ables.
              -u     When  the  variable is assigned a value, all lower-case characters are converted to
                    upper-case.  The lower-case attribute is disabled.
              -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や+Aは配列変数を破棄するのに使ってはならず、+rはreadonly属性を削除しない。 関数内で使用する場合、-gオプションが与えられていない限り、declareとtypesetはlocalコマンドと同様に各変数名をローカルにする。 変数名の後に=valueが続くと、その変数の値がvalueに設定される。 -a または -A と複合代入構文を使用して配列変数を作成する場合、追加の属性はそれ以降の代入まで有効にならない。 無効なオプションに出会った場合、``-f foo=bar''を使って関数を定義しようとした場合、 読み取り専用変数に値を代入しようとした場合、複合代入構文を使わずに配列変数に 値を代入しようとした場合(上記の配列を参照)を除いて、戻り値は0である、 名前のいずれかが有効なシェル変数名でない、読み取り専用変数の読み取りステータスをオフにしようとした、配列変数の配列ステータスをオフにしようとした、存在しない関数を -f で表示しようとした。
              +A  may  not be used to destroy array variables and +r will not remove the readonly attri‐
              bute.  When used in a function, declare and typeset make each name local, as with the  lo‐
              cal  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  assign‐
              ment syntax to create array variables, additional attributes do not take effect until sub‐
              sequent 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.


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


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


      disown [-ar] [-h] [jobspec ... | pid ... ]
;<nowiki>disown [-ar] [-h] [jobspec ... | pid ... ]</nowiki>
              Without options, remove each jobspec from the table of active jobs.  If jobspec is  not
:オプションを指定しない場合、アクティブなジョブのテーブルから各 jobspec を削除する。 jobspec が存在せず、-a オプションも -r オプションも与えられない場合、 現在のジョブが使用される。 h オプションが指定された場合、各 jobspec はテーブルから削除されないが、 シェルが SIGHUP を受信してもそのジョブに SIGHUP が送られないようにマークされる。 jobspec が与えられない場合、-a オプションはすべてのジョブを削除またはマークすることを意味する。jobspec 引数なしの -r オプションは、実行中のジョブに操作を制限する。 jobspec が有効なジョブを指定しない限り、戻り値は 0 である。
              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.


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


      enable [-a] [-dnps] [-f filename] [name ...]
;<nowiki>enable [-a] [-dnps] [-f filename] [name ...]</nowiki>
              Enable  and  disable  builtin  shell  commands.  Disabling a builtin allows a disk command
:シェル組み込みコマンドを有効/無効にする。 組み込みコマンドを無効にすると、シェルは通常ディスクコマンドの前に組み込みコマンドを検索するにもかかわらず、シェル組み込みコマンドと同じ名前のディスクコマンドをフルパス名を指定せずに実行できるようになる。 n を使用すると、各名称は無効になり、それ以外の場合は有効になる。 例えば、シェルのビルトインバージョンの代わりに PATH 経由で見つかった test バイナリを使うには、``enable -n test'' を実行する。fオプションは、動的ロードをサポートしているシステムでは、共有オブジェクトファイル名から新しい組み込みコマンド名をロードすることを意味する。 dオプションは-fでロードした組み込みコマンドを削除する。 name 引数が与えられないか、または -p オプションが与えられると、 シェル組み込みコマンドのリストが表示される。 他のオプション引数を指定しない場合、リストは有効なシェル組み込み関数すべてから構成される。 n を指定すると、無効な組み込み関数だけが表示される。 a を指定すると、すべての組み込み関数が出力され、それぞれが有効かどうかも表示される。 s を指定すると、出力は POSIX 特殊組み込み関数に制限される。 戻り値は、名前がシェル組み込み関数でないか、共有オブジェクトからの新規組み込み関数のロードにエラーがない限り 0 である。
              which has the same name as a shell builtin to be executed without specifying a full  path‐
              name, 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.


      eval [arg ...]
;<nowiki>eval [arg ...]</nowiki>
              The args are read and concatenated together into a single command.  This command  is  then
:引数が読み込まれ、1つのコマンドに連結される。 このコマンドはシェルによって読み込まれ実行され、その終了ステータスがevalの値として返される。 引数がない場合、あるいはnullの引数しかない場合、evalは0を返す。
              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.


      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
:commandが指定された場合、シェルを置き換える。 新しいプロセスは作られない。 引数は command の引数になる。 l オプションが与えられた場合、シェルは command に渡された引数の 0 番目の先頭にダッシュを置く。 これは login(1) が行うことである。  c オプションを指定すると、コマンドは空の環境で実行される。 a が与えられると、シェルは実行されるコマンドの 0 番目の引数として name を渡す。 何らかの理由でコマンドが実行できなかった場合、execfail シェルオプションが有効になっていない限り、非対話型シェルは終了する。 その場合は失敗を返す。 ファイルを実行できない場合、対話型シェルは失敗を返す。 サブシェルは、execが失敗すると無条件に終了する。 commandが指定されていない場合、リダイレクトは現在のシェルで有効になり、リターン・ステータスは0になる。リダイレクト・エラーがある場合、リターン・ステータスは1になる。
              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.


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


      export [-fn] [name[=word]] ...
;<nowiki>export [-fn] [name[=word]] ...</nowiki>
      export -p
;export -p
              The supplied names are marked for automatic export to the environment of subsequently exe‐
:指定された名前は、その後に実行されるコマンドの環境に自動的にエクスポートされるようにマークされる。 -fオプションが指定された場合、名前は関数を参照する。 名前が指定されない場合、または -p オプションが指定された場合は、エクスポートされたすべての変数名のリストが表示される。 -n オプションを指定すると、各名称からエクスポート・プロパティが削除される。 変数名の後に=wordが続くと、その変数の値がwordに設定される。exportは、無効なオプションに遭遇するか、名前の1つが有効なシェル変数名でないか、-fに関数でない名前が指定されない限り、終了ステータス0を返す。
              cuted 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  re‐
              turns 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.


      fc [-e ename] [-lnr] [first] [last]
;<nowiki>fc [-e ename] [-lnr] [first] [last]</nowiki>
      fc -s [pat=rep] [cmd]
;<nowiki>fc -s [pat=rep] [cmd]</nowiki>
              The first form selects a range of commands from first to last from the  history  list  and
:最初の形式は、履歴リストから最初のコマンドから最後のコマンドまでの範囲を選択し、それらを表示または編集して再実行する。 firstとlastは、文字列(その文字列で始まる最後のコマンドを探す)または数値(履歴リストへのインデックス、負の数は現在のコマンド番号からのオフセットとして使われる)で指定することができる。リストを表示する場合、firstまたはlastに0を指定すると-1となり、-0を指定すると現在のコマンド(通常はfcコマンド)となる。 もしlastが指定されなければ、リストアップのために現在のコマンドに設定され (``fc -l -10'' は最後の10個のコマンドを表示する)、そうでなければfirstに設定される。 もしfirstが指定されなければ、編集の場合は前のコマンドに、リストアップの場合は-16に設定される。
              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 his‐
              tory  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.


              The -n option suppresses the command numbers when listing.  The -r option reverses the or‐
:-nオプションは、一覧表示時にコマンド番号を表示しない。 -rオプションはコマンドの順序を逆にする。 -lオプションを指定すると、コマンドは標準出力にリストされる。 それ以外の場合、enameで指定されたエディタが、それらのコマンドを含む ファイルに対して起動される。enameが与えられていない場合、変数FCEDITの値が使われ、 FCEDITが設定されていない場合、EDITORの値が使われる。 どちらの変数も設定されていなければ、viが使われる。 編集が完了すると、編集されたコマンドがエコーされて実行される。
              der  of the commands.  If the -l option is given, the commands are listed on standard out‐
              put.  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.


              In  the second form, command is re-executed after each instance of pat is replaced by rep.
:第二の形式では、patの各インスタンスがrepに置き換えられた後、コマンドが再実行される。コマンドは上記の最初のものと同じように解釈される。 r="fc-s"」と入力すると、「cc」で始まる最後のコマンドが実行され、「r」と入力すると最後のコマンドが再実行される。
              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.


              If the first form is used, the return value is 0 unless an invalid option  is  encountered
:最初の形式を使用した場合、無効なオプションに遭遇するか、最初または最後の指定行が範囲外でない限り、戻り値は0である。 eオプションが与えられた場合、戻り値は最後に実行されたコマンドの値か、コマンドの一時ファイルでエラーが発生した場合は失敗となる。 2番目の形式が使われた場合、cmdが有効なヒストリ行を指定しない限り、戻り値は再実行されたコマンドのステータスとなり、その場合fcは失敗を返す。
              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.


      fg [jobspec]
;fg [jobspec]
              Resume jobspec in the foreground, and make it the current job.  If jobspec is not present,
:jobspec をフォアグラウンドで再開し、現在のジョブにする。 jobspec が存在しない場合、シェルの現在のジョブの概念が使用される。 戻り値は、フォアグラウンドに配置されたコマンドの値であり、ジョブ制御が無効なときに実行された場合は失敗となる。ジョブ制御が有効なときに実行された場合は、jobspecが有効なジョブを指定していないか、ジョブ制御なしで開始されたジョブを指定している。
              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.


      getopts optstring name [arg ...]
;getopts optstring name [arg ...]
              getopts  is  used  by shell procedures to parse positional parameters.  optstring contains
:optstringには、認識すべきオプション文字が含まれる。ある文字の後にコロンが続く場合、そのオプションは引数を持つことが期待され、その引数は空白で区切らなければならない。 コロンとクエスチョンマークはオプション文字としては使えない。 getoptsは起動されるたびに、次のオプションをシェル変数nameに入れ、nameが存在しない場合は初期化し、次に処理される引数のインデックスを変数OPTINDに入れる。 OPTINDは、シェルまたはシェルスクリプトが起動されるたびに1に初期化される。オプションが引数を必要とする場合、getopts はその引数を変数 OPTARG に入れる。 シェルは OPTIND を自動的にリセットしないので、新しいパラメータセットを使用する場合は、同じシェル呼び出し内で getopts を複数回呼び出す間に手動でリセットする必要がある。
              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  OP‐
              TARG.  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.


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


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


              getopts  can  report  errors in two ways.  If the first character of optstring is a colon,
:getoptsは2つの方法でエラーを報告することができる。 optstringの最初の文字がコロンの場合、サイレントエラー報告が使用される。 通常の操作では、無効なオプションやオプション引数の欠落に遭遇すると、診断メッセージが表示される。 変数 OPTERR 0 に設定すると、optstring の最初の文字がコロンでなくても、エラーメッセージは表示されない。
              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.


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


              If  a  required  argument  is not found, and getopts is not silent, a question mark (?) is
:必須引数が見つからず、getoptsがサイレントでない場合、nameにクエスチョンマーク(?  getoptsが無音の場合、nameにコロン(:)が置かれ、OPTARGには見つかったオプション文字が設定される。
              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 returns true if an option, specified or unspecified, is found.  It  returns  false
:getoptsは、指定または未指定のオプションが見つかれば真を返す。 オプションの末尾にぶつかったり、エラーが発生した場合は偽を返す。
              if the end of options is encountered or an error occurs.


      hash [-lr] [-p filename] [-dt] [name]
;<nowiki>hash [-lr] [-p filename] [-dt] [name]</nowiki>
              Each  time hash is invoked, the full pathname of the command name is determined by search‐
:hashが起動されるたびに、コマンド名のフルパス名が$PATH内のディレクトリを検索して決定され、記憶される。 以前に記憶されたパス名は破棄される。 -pオプションが与えられると、パス検索は行われず、 filenameがコマンドの完全なファイル名として使われる。 -rオプションを付けると、シェルは記憶していた場所をすべて忘れる。 -dオプションを指定すると、シェルは各名称の記憶された場所を忘れる。 -t オプションを指定すると、各名前が対応する完全なパス名が表示される。 複数の name 引数が -t とともに与えられた場合、 name はハッシュされたフルパス名の前に出力される。 -lオプションを指定すると、入力として再利用できる形式で出力が表示される。 引数が与えられないか、-lだけが与えられると、記憶されたコマンドに関する情報が表示される。 名前が見つからないか、無効なオプションが与えられない限り、戻り値は真である。
              ing the directories in $PATH and remembered. Any previously-remembered pathname  is  dis‐
              carded.  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  remem‐
              bered 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.


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


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


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


              If  the  HISTTIMEFORMAT variable  is set, the time stamp information associated with each
:'''HISTTIMEFORMAT'''変数が設定されている場合、各履歴エントリーに関連するタイムスタンプ情報は、履歴コメント文字でマークされた履歴ファイルに書き込まれる。ヒストリファイルが読み込まれると、ヒストリコメント文字の直後に数字が続く行は、次のヒストリエントリのタイムスタンプとして解釈される。 無効なオプションに遭遇するか、ヒストリファイルの読み込みまたは書き込み中にエラーが発生するか、-dの引数として無効なオフセットが与えられるか、-pの引数として与えられたヒストリ展開が失敗しない限り、戻り値は0である。
              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.


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


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


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


      kill [-s sigspec | -n signum | -sigspec] [pid | jobspec] ...
;<nowiki>kill [-s sigspec | -n signum | -sigspec] [pid | jobspec] ...</nowiki>
      kill -l|-L [sigspec | exit_status]
;<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 は '''SIGKILL''' のような大文字小文字を区別しないシグナル名 (SIG 接頭辞の有無は問わない) かシグナル番号であり、 signum はシグナル番号である。 sigspecが存在しない場合は、SIGTERMが想定される。 引数 -l は、シグナル名の一覧を示す。 lを指定する際に引数が指定された場合、引数に対応するシグナル名が列挙され、 戻りステータスは0となる。-lの引数exit_statusは、シグナル番号またはシグナルによって 終了したプロセスの終了ステータスを指定する数値である。 killは、少なくとも1つのシグナルが正常に送信された場合は真を返し、 エラーが発生した場合や無効なオプションに遭遇した場合は偽を返す。
              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  sup‐
              plied  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 op‐
              tion 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.


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


      local [option] [name[=value] ... | - ]
;<nowiki>local [option] [name[=value] ... | - ]</nowiki>
              For each argument, a local variable named name is created, and assigned value.  The option
:各引数に対して、nameという名前のローカル変数が作成され、値が代入される。 オプションは、declareが受け付けるオプションのいずれかである。 localが関数内で使われると、変数名はその関数とその子関数に限定された可視スコープを持つようになる。 nameが-である場合、シェルオプションのセットは、localが呼び出された関数のローカルになる。関数内でset組み込み関数を使って変更されたシェルオプションは、関数が戻ったときに元の値に復元される。 このリストアは、あたかも一連のsetコマンドを実行して、関数を実行する前の値をリストアしたかのように行われる。 オペランドがない場合、localはローカル変数のリストを標準出力に書き出す。 関数内以外でlocalを使用するのはエラーである。 localが関数外で使用されているか、無効な名前が与えられているか、nameが読み取り専用変数でない限り、戻りステータスは0である。
              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 chil‐
              dren.  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 se‐
              ries 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 out‐
              put.  It is an error to use local when not within a function.  The return status is 0  un‐
              less  local is used outside a function, an invalid name is supplied, or name is a readonly
              variable.


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


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


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


              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,  ar‐
:mapfileは、無効なオプションやオプション引数が与えられていないか、配列が無効か割り当て不可能でないか、配列がインデックス付き配列でない場合を除き、正常に戻る。
              ray is invalid or unassignable, or if array is not an indexed array.


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


              If the popd command is successful, a dirs is performed as well, and the return  status  is
:popdコマンドが成功した場合、dirsも実行され、戻りステータスは0である。無効なオプションに遭遇した場合、ディレクトリスタックが空である場合、存在しないディレクトリスタックエントリが指定された場合、またはディレクトリの変更が失敗した場合、popdは偽を返す。
              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.


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


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


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


              Arguments  to non-string format specifiers are treated as C constants, except that a lead‐
:文字列以外の書式指定子への引数は、Cの定数として扱われる。ただし、先頭のプラス記号またはマイナス記号は許容され、先頭の文字がシングルクォートまたはダブルクォートの場合、値はそれに続く文字のASCII値となる。
              ing 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.


              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 suc‐
              cess, non-zero on failure.


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


      pwd [-LP]
;<nowiki>pwd [-LP]</nowiki>
              Print the absolute pathname of the current working directory.  The pathname  printed  con‐
:現在の作業ディレクトリの絶対パス名を表示する。 Pオプションが指定されているか、set組み込みコマンドの -o物理オプションが有効になっている場合、出力されるパス名にはシンボリックリンクは含まれない。 Lオプションを使用すると、シンボリックリンクを含むパス名が出力される。 カレントディレクトリ名の読み込み中にエラーが発生するか、無効なオプションが指定されない限り、戻りステータスは 0 である。
              tains  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.


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


              If no names are supplied, the line read, without the ending delimiter but otherwise unmod‐
:名前が与えられない場合、読み込まれた行は、終端デリミタなしで、それ以外は変更されずに、変数 REPLY に代入される。 終了ステータスは、ファイル終了に遭遇するか、読み込みがタイムアウトするか(この場合、ステータスは128より大きくなる)、変数代入エラー(読み取り専用変数への代入など)が発生するか、無効なファイル記述子が-uの引数として与えられない限り、0である。
              ified,  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 as‐
              signment  error  (such as assigning to a readonly variable) occurs, or an invalid file de‐
              scriptor is supplied as the argument to -u.


      readonly [-aAf] [-p] [name[=word] ...]
;<nowiki>readonly [-aAf] [-p] [name[=word] ...]</nowiki>
              The given names are marked readonly; the values of these names may not be changed by  sub‐
:指定された名前には読み取り専用マークが付けられ、以後の代入によってこれらの名前の値が変更されることはない。-f オプションを指定すると、その名前に対応する関数がそのようにマークされる。 -aオプションは変数を添字配列に制限し、-Aオプションは変数を連想配列に制限する。 両方のオプションが指定された場合は、-Aが優先される。 name 引数が与えられていない場合、または -p オプションが与えられている場合は、すべての読み取り専用名のリストが表示される。 他のオプションを使って、出力を読み取り専用名のサブセットに制限することができる。 pオプションを指定すると、入力として再利用できる形式で出力が表示される。 変数名の後に=wordが続くと、その変数の値がwordに設定される。 無効なオプションに遭遇した場合、名前の1つが有効なシェル変数名でない場合、または -f に関数でない名前が指定された場合を除き、戻り値は 0 である。
              sequent  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  op‐
              tion  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  encoun‐
              tered,  one of the names is not a valid shell variable name, or -f is supplied with a name
              that is not a function.


      return [n]
;<nowiki>return [n]</nowiki>
              Causes a function to stop executing and return the value specified by n to its caller. If
:関数の実行を停止し、nで指定された値を呼び出し元に返す。 nが省略された場合、returnのステータスは、関数本体内で最後に実行されたコマンドのステータスとなる。return がトラップハンドラによって実行される場合、ステータスを決定するために使用される最後のコマンドは、トラップハンドラの前に実行された最後のコマンドである。 returnがDEBUGトラップ中に実行された場合、ステータスを決定するために使用される最後のコマンドは、returnが呼び出される前にトラップハンドラによって実行された最後のコマンドである。 returnが関数の外で、.(ソース)コマンドによるスクリプトの実行中に使用された場合、そのスクリプトの実行をシェルに停止させ、nまたはスクリプト内で最後に実行されたコマンドの終了ステータスのいずれかをスクリプトの終了ステータスとして返す。 n が指定された場合、戻り値はその最下位 8 ビットである。 returnに数値以外の引数が指定された場合、または.やsourceによるスクリプトの実行中ではなく関数の外部で使用された場合、戻り値は0以外のステータスになる。RETURNトラップに関連付けられたコマンドは、関数またはスクリプトの実行後に実行が再開される前に実行される。
              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 ar‐
              gument, 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.


      set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...]
;<nowiki>set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...]</nowiki>
      set [+abefhkmnptuvxBCEHPT] [+o option-name] [arg ...]
;<nowiki>set [+abefhkmnptuvxBCEHPT] [+o option-name] [arg ...]</nowiki>
              Without options, the name and value of each shell variable are displayed in a format  that
:オプションがなければ、各シェル変数の名前と値が、現在設定されている変数を設定またはリセットするための入力として再利用できる形式で表示される。 読み取り専用の変数はリセットできない。 posix モードでは、シェル変数のみが一覧表示される。 出力は、現在のロケールに従ってソートされる。 オプションが指定されると、シェル属性を設定または解除する。 オプション処理後に残った引数は、位置パラメータの値として扱われ、 $1, $2, ... $n の順に代入される。 オプションが指定された場合、以下の意味を持つ:
              can  be  reused  as input for setting or resetting the currently-set variables.  Read-only
:;-a
              variables cannot be reset.  In posix mode, only shell variables are listed.  The output is
::作成または変更された各変数や関数にはexport属性が与えられ、後続のコマンドの環境にエクスポートされるようにマークされる。
              sorted  according  to  the  current locale.  When options are specified, they set or unset
:;-b
              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
:;-e
              specified, have the following meanings:
::パイプライン(単一の単純なコマンドで構成される)、リスト、または複合コマンド(上記の [[#SHELL GRAMMAR|SHELL GRAMMAR ]]を参照)がゼロ以外のステータスで終了した場合、直ちに終了する。 失敗したコマンドが、whileまたはuntilキーワードの直後のコマンドリストの一部、ifまたはelif予約語に続くテストの一部、最後の&&または||に続くコマンドを除く&&または||リストで実行されるコマンドの一部、パイプラインの最後のコマンド以外のコマンド、コマンドの戻り値がeが無視されている間にコマンドが失敗したため、サブシェル以外の複合コマンドがゼロ以外のステータスを返した場合、シェルは終了しない。 ERRのトラップが設定されている場合は、シェルが終了する前に実行される。 このオプションは、シェル環境と各サブシェル環境に個別に適用され (上記の「 [[#COMMAND EXECUTION ENVIRONMENT|COMMAND EXECUTION ENVIRONMENT ]]」を参照)、サブシェル内のすべてのコマンドを実行する前にサブシェルが終了することがある。
              -a     Each variable or function that is created or modified is given the  export  attri‐
                      bute and marked for export to the environment of subsequent commands.
              -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     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 sta‐
                      tus.  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 ex‐
                      cept  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.


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


              The options are off by default unless otherwise noted.  Using + rather than - causes these
:特に断りのない限り、オプションはデフォルトでオフになっている。 ではなく+を使用すると、これらのオプションはオフになる。 オプションは、シェルを起動する際の引数として指定することもできる。 現在のオプションのセットは $- にある。 無効なオプションに遭遇しない限り、戻り値は常に真である。
              options to be turned off.  The options can also be specified as arguments to an invocation
              of the shell.  The current set of options may be found in $-.  The return status is always
              true unless an invalid option is encountered.


      shift [n]
;<nowiki>shift [n]</nowiki>
              The  positional  parameters from n+1 ... are renamed to $1 ....  Parameters represented by
:n+1 ...までの位置パラメーターは$1 ...に改名される。 nは、$#以下の非負の数でなければならない。 nが0の場合、パラメーターは変更されない。 nが与えられない場合、1とみなされる。 nが$#より大きい場合、位置パラメーターは変更されない。 戻り値は、nが$#より大きいか0より小さい場合は0より大きく、それ以外は0である。
              the numbers $# down to $#-n+1 are unset.  n must be a non-negative  number  less  than  or
              equal  to $#.  If n is 0, no parameters are changed.  If n is not given, it is assumed to
              be 1.  If n is greater than $#, the positional parameters are  not  changed.  The  return
              status is greater than zero if n is greater than $# or less than zero; otherwise 0.


      shopt [-pqsu] [-o] [optname ...]
;<nowiki>shopt [-pqsu] [-o] [optname ...]</nowiki>
              Toggle  the  values  of settings controlling optional shell behavior.  The settings can be
:オプションのシェル動作を制御する設定の値を切り替える。 設定値は、以下に列挙するものか、-o オプションを使用した場合は set 組み込みコマンドの -o オプションで使用可能なものである。 オプションなし、または -p オプションを指定すると、設定可能なすべてのオプションのリストが表示され、それぞれが設定されているかどうかが示される。 -pオプションを指定すると、入力として再利用できる形式で出力が表示される。 その他のオプションの意味は以下のとおりである:
              either those listed below, or, if the -o option is used, those available with the  -o op‐
:;-s
              tion  to  the  set builtin command.  With no options, or with the -p option, a list of all
::それぞれのoptnameを有効にする(設定する)。
              settable options is displayed, with an indication of whether or not each is set; if  opt‐
:;-u
              names  are supplied, the output is restricted to those options.  The -p option causes out‐
::各 optname を無効にする(設定解除する)。
              put to be displayed in a form that may be reused as input.  Other options have the follow‐
:;-q
              ing meanings:
::通常の出力を抑制する(クワイエットモード)。戻り値は、optnameが設定されているか否かを示す。 複数のoptname引数を-qで指定した場合、すべてのoptnameが有効になっていれば戻り値は0であり、そうでなければ0ではない。
              -s    Enable (set) each optname.
:;-o
              -u    Disable (unset) each optname.
::optnameの値を、setビルトインの-oオプションで定義された値に制限する。
              -q     Suppresses normal output (quiet mode); the return status indicates whether the opt‐
                    name is set or unset.  If multiple optname arguments are given with -q, the  return
                    status is zero if all optnames are enabled; non-zero otherwise.
              -o    Restricts  the  values  of optname to be those defined for the -o option to the set
                    builtin.


              If either -s or -u is used with no optname arguments, shopt shows only those options which
:optname引数を指定せずに-sまたは-uを使用した場合、shoptはそれぞれ設定または未設定のオプションのみを表示する。 特に断りのない限り、shoptのオプションはデフォルトで無効(未設定)になっている。
              are  set  or  unset, respectively.  Unless otherwise noted, the shopt options are disabled
              (unset) by default.


              The return status when listing options is zero if all optnames are enabled, non-zero  oth‐
:オプションを一覧表示するときの戻りステータスは、すべての optname が有効な場合は 0 であり、そうでない場合は 0 以外である。 オプションを設定または解除する場合、optnameが有効なシェルオプションでない場合を除き、戻り値は0である。
              erwise.  When setting or unsetting options, the return status is zero unless an optname is
              not a valid shell option.


              The list of shopt options is:
:ショップオプションのリストは以下の通り:


              assoc_expand_once
:;assoc_expand_once
                      If set, the shell suppresses multiple evaluation of associative  array  subscripts
::設定されている場合、シェルは、算術式評価中、変数代入を実行できるビルドイン実行中、および配列の再参照を実行するビルドイン実行中に、連想配列添え字の多重評価を抑制する。
                      during arithmetic expression evaluation, while executing builtins that can perform
:;autocd   
                      variable assignments, and while executing builtins that perform array  dereferenc‐
::設定された場合、ディレクトリ名であるコマンド名は、あたかもcdコマンドの引数であるかのように実行される。 このオプションは対話型シェルでのみ使用される。
                      ing.
;;cdable_vars
              autocd  If  set,  a command name that is the name of a directory is executed as if it were
::設定された場合、ディレクトリでないcd組み込みコマンドの引数は、変更先のディレクトリを値とする変数名とみなされる。
                      the argument to the cd command.  This option is only used by interactive shells.
:;cdspell  
              cdable_vars
::設定された場合、cdコマンドのディレクトリ構成要素のスペルにおける軽微なエラーが修正される。 チェックされる誤りは、文字が入れ替わっている、文字が欠けている、 1文字多い、などである。 修正が見つかった場合、修正されたファイル名が表示され、コマンドは続行される。 このオプションは対話型シェルでのみ使用される。
                      If set, an argument to the cd builtin command that is not a directory  is  assumed
:;checkhash
                      to be the name of a variable whose value is the directory to change to.
::セットされていると、bashはハッシュ・テーブルで見つかったコマンドを実行しようとする前に、そのコマンドが存在するかどうかをチェックする。 ハッシュ化されたコマンドがもはや存在しない場合は、通常のパス検索が実行される。
              cdspell If set, minor errors in the spelling of a directory component in a cd command will
:;checkjobs
                      be corrected.  The errors checked for are transposed characters, a missing charac‐
::設定されている場合、bashは対話型シェルを終了する前に、停止中および実行中のジョブのステータスを一覧表示する。 実行中のジョブがある場合、コマンドを介さずに2回目の終了を試みるまで終了が延期される(上記の[[#JOB CONTROL|JOB CONTROL ]]を参照)。 停止中のジョブがある場合、シェルは常に終了を延期する。
                      ter, and one character too many.  If a correction is found, the corrected filename
:;checkwinsize
                      is printed, and the command proceeds.  This option is  only  used  by  interactive
::このオプションを設定すると、bashは外部(ビルトインでない)コマンドを実行するたびにウィンドウ・サイズをチェックし、必要に応じてLINESとCOLUMNSの値を更新する。 このオプションはデフォルトで有効になっている。
                      shells.
:;cmdhist  
              checkhash
::これを設定すると、bashは複数行コマンドのすべての行を同じ履歴エントリに保存しようとする。 これにより、複数行コマンドの再編集が容易になる。 このオプションはデフォルトで有効になっているが、上記の「[[#HISTORY|HISTORY ]]」で説明したように、コマンドヒストリが有効になっている場合にのみ効果がある。
                      If set, bash checks that a command found in the hash table exists before trying to
:;compat31
                      execute it.  If a hashed command no longer exists, a normal path  search  is  per‐
:;compat32
                      formed.
:;compat40
              checkjobs
:;compat41
                      If  set,  bash  lists the status of any stopped and running jobs before exiting an
:;compat42
                      interactive shell.  If any jobs are running, this causes the exit to  be  deferred
:;compat43
                      until  a  second exit is attempted without an intervening command (see JOB CONTROL
:;compat44
                      above).  The shell always postpones exiting if any jobs are stopped.
::これらは、シェルの互換モードの側面を制御する(以下の「[[#SHELL COMPATIBILITY MODE|SHELL COMPATIBILITY MODE ]]」を参照)。
              checkwinsize
:;complete_fullquote
                      If set, bash checks the window size after each external (non-builtin) command and,
::設定されている場合、bashは補完を実行するときにファイル名とディレクトリ名に含まれるすべてのシェル・メタ文字を引用符で囲む。 設定されていない場合、補完されるファイル名のシェル変数参照にドル記号のようなメタキャラクタがあると、bashはそのメタキャラクタを引用符で囲む文字から除外する。つまり、ディレクトリに展開される変数名のドル記号は引用されないが、ファイル名に現れるドル記号も引用されない。 これは、bashがバックスラッシュを使って補完されたファイル名を引用している場合にのみ有効である。 この変数はデフォルトで設定されており、これは4.2までのバージョンにおけるbashのデフォルトの動作である。
                      if  necessary, updates the values of LINES and COLUMNS.  This option is enabled by
                      default.
              cmdhist If set, bash attempts to save all lines of a multiple-line  command  in  the  same
                      history entry.  This allows easy re-editing of multi-line commands.  This option
                      is enabled by default, but only has an effect if command history  is  enabled,  as
                      described above under HISTORY.
              compat31
              compat32
              compat40
              compat41
              compat42
              compat43
              compat44
                      These  control  aspects of the shell's compatibility mode (see SHELL COMPATIBILITY
                      MODE below).


              complete_fullquote
:;direxpand
                      If set, bash quotes all shell metacharacters in filenames and directory names when
::これを設定すると、bashはファイル名の補完を実行するときに、ディレクトリ名を単語展開の結果に置き換える。 これにより、readline編集バッファの内容が変更される。 設定されていない場合、bashはユーザーが入力した内容を保持しようとする。
                      performing completion.  If not set, bash removes metacharacters such as the dollar
                      sign from the set of characters that will be quoted in  completed  filenames  when
                      these metacharacters appear in shell variable references in words to be completed.
                      This means that dollar signs in variable names that expand to directories will not
                      be  quoted; however,  any dollar signs appearing in filenames will not be quoted,
                      either.  This is active only when bash is using  backslashes  to  quote  completed
                      filenames. This variable is set by default, which is the default bash behavior in
                      versions through 4.2.


              direxpand
:;dirspell
                      If set, bash replaces directory names with the results of word expansion when per‐
::設定すると、最初に与えられたディレクトリ名が存在しない場合、bashは単語補完時にディレクトリ名のスペル修正を試みる。
                      forming  filename  completion.  This changes the contents of the readline editing
                      buffer.  If not set, bash attempts to preserve what the user typed.


              dirspell
:;dotglob
                      If set, bash attempts spelling correction on directory names during  word  comple‐
::.'で始まるファイル名をパス名の展開結果に含める。 ドットグロブがセットされていても、ファイル名 ``.'' と ``...'' は常に明示的にマッチさせる必要がある。
                      tion if the directory name initially supplied does not exist.


              dotglob If  set,  bash  includes filenames beginning with a `.' in the results of pathname
:;execfail
                      expansion.  The filenames ``.''  and ``..''  must always  be  matched  explicitly,
::設定された場合、非対話型シェルは、exec 組み込みコマンドの引数として指定されたファイルを実行できなくても終了しない。 対話型シェルは、exec に失敗しても終了しない。
                      even if dotglob is set.


              execfail
:;expand_aliases
                      If set, a non-interactive shell will not exit if it cannot execute the file speci‐
::設定されている場合、エイリアスは上記の ALIASES で説明されているように展開される。 このオプションは対話型シェルではデフォルトで有効になっている。
                      fied as an argument to the exec builtin command.  An interactive  shell  does  not
                      exit if exec fails.


              expand_aliases
:;extdebug
                      If set, aliases are expanded as described above under ALIASES.  This option is en‐
::シェル起動時、またはシェル起動ファイルに設定すると、 --debuggerオプションと同じように、シェル起動前にデバッガ・プロファイルを実行するようにアレンジする。 起動後に設定すると、デバッガが使用することを意図した動作が有効になる:
                      abled by default for interactive shells.


              extdebug
:::1.    declareビルトインの-Fオプションは、引数として与えられた各関数名に対応するソースファイル名と行番号を表示する。
                      If set at shell invocation, or in a shell startup file, arrange to execute the de‐
                      bugger  profile  before  the shell starts, identical to the --debugger option.  If
                      set after invocation, behavior intended for use by debuggers is enabled:


                      1.    The -F option to the declare builtin displays the source file name and line
:::2.    DEBUGトラップによって実行されたコマンドがゼロ以外の値を返した場合、次のコマンドはスキップされ実行されない。
                            number corresponding to each function name supplied as an argument.


                      2.    If  the  command  run  by the DEBUG trap returns a non-zero value, the next
:::3.    DEBUGトラップによって実行されたコマンドが値2を返し、シェルがサブルーチン(シェル関数または.NETやソース・ビルトインによって実行されるシェル・スクリプト)で実行されている場合、シェルはreturnの呼び出しをシミュレートする。
                            command is skipped and not executed.


                      3.    If the command run by the DEBUG trap returns a value of 2, and the shell is
:::4.    BASH_ARGCとBASH_ARGVは、上記の説明に従って更新される。
                            executing  in  a subroutine (a shell function or a shell script executed by
                            the . or source builtins), the shell simulates a call to return.


                      4.    BASH_ARGC and BASH_ARGV are updated  as  described  in  their  descriptions
:::5.    コマンド置換、シェル関数、および ( コマンド ) で呼び出されるサブシェルは、DEBUG および RETURN トラップを継承する。
                            above.


                      5.    Function  tracing  is  enabled:  command substitution, shell functions, and
:::6.    コマンド置換、シェル関数、および ( コマンド ) で呼び出されたサブシェルは、ERR トラップを継承する。
                            subshells invoked with ( command ) inherit the DEBUG and RETURN traps.


                      6.    Error tracing is enabled: command substitution, shell functions,  and  sub‐
:;extglob
                            shells invoked with ( command ) inherit the ERR trap.
::設定すると、上記の「パス名の拡張」で説明した拡張パターンマッチング機能が有効になる。


              extglob If  set, the extended pattern matching features described above under Pathname Ex‐
:;extquote
                      pansion are enabled.
::設定すると、${parameter}を二重引用符で囲んだ展開の中で、$'string'と$"string "の引用符付けが行われる。 このオプションはデフォルトで有効になっている。


              extquote
:;failglob
                      If set, $'string' and $"string" quoting is performed  within  ${parameter}  expan‐
::設定すると、パス名展開時にファイル名にマッチしないパターンは展開エラーとなる。
                      sions enclosed in double quotes.  This option is enabled by default.


              failglob
:;force_fignore
                      If set, patterns which fail to match filenames during pathname expansion result in
::設定されていると、FIGNOREシェル変数で指定された接尾辞は、単語補完を実行するときに、無視された単語が唯一の可能な補完であっても無視される。 FIGNOREについての説明は上記の[[#SHELL VARIABLES|SHELL VARIABLES ]]を参照のこと。  このオプションはデフォルトで有効になっている。
                      an expansion error.


              force_fignore
:;globasciiranges
                      If set, the suffixes specified by the FIGNORE shell variable cause words to be ig‐
::これを設定すると、パターンマッチングの括弧式で使用される範囲式(上記の [[#Pattern Matching|Pattern Matching ]]を参照)は、比較を実行するときに従来のCロケールのように 動作する。 つまり、現在のロケールの照合順序は考慮されないので、 bはAとBの間で照合されず、大文字と小文字のASCII文字は一緒に照合される。
                      nored  when performing word completion even if the ignored words are the only pos‐
                      sible completions. See SHELL VARIABLES above for a description of FIGNORE.  This
                      option is enabled by default.


              globasciiranges
:;globstar
                      If  set,  range expressions used in pattern matching bracket expressions (see Pat‐
::設定されている場合、パス名展開コンテキストで使われるパターン ** は、すべてのファイルと0個以上のディレクトリとサブディレクトリにマッチする。 パターンの後に/が続くと、ディレクトリとサブディレクトリにのみマッチする。
                      tern Matching above) behave as if in the traditional C locale when performing com‐
                      parisons.  That is, the current locale's collating sequence is not taken into ac‐
                      count, so b will not collate between A and B, and upper-case and lower-case  ASCII
                      characters will collate together.


              globstar
:;gnu_errfmt
                      If  set,  the pattern ** used in a pathname expansion context will match all files
::設定すると、シェルのエラーメッセージは標準のGNUエラーメッセージ形式で書かれる。
                      and zero or more directories and subdirectories.  If the pattern is followed by  a
                      /, only directories and subdirectories match.


              gnu_errfmt
:;histappend
                      If set, shell error messages are written in the standard GNU error message format.
::設定された場合、シェルの終了時に、履歴リストはファイルを上書きするのではなく、HISTFILE変数の値で指定されたファイルに追加される。


              histappend
:;histreedit
                      If  set,  the history list is appended to the file named by the value of the HIST‐
::readlineが設定され、かつreadlineが使用されている場合、失敗した履歴の置換を再編集する機会がユーザーに与えられる。
                      FILE variable when the shell exits, rather than overwriting the file.


              histreedit
:;histverify
                      If set, and readline is being used, a user is given the opportunity to  re-edit  a
::セットされていてreadlineが使用されている場合、ヒストリ置換の結果はすぐにシェル・パーサーに渡されない。 その代わりに、結果の行がreadline編集バッファにロードされ、さらに修正できるようになる。
                      failed history substitution.


              histverify
:;hostcomplete
                      If  set,  and  readline is being used, the results of history substitution are not
::readlineが使用されている場合、@を含む単語が補完されると、bashはホスト名の補完を試みる(上記のREADLINEでの補完を参照)。 これはデフォルトで有効になっている。
                      immediately passed to the shell parser.  Instead, the  resulting  line  is  loaded
                      into the readline editing buffer, allowing further modification.


              hostcomplete
:;huponexit
                      If  set, and readline is being used, bash will attempt to perform hostname comple‐
::設定すると、対話型ログイン・シェルが終了したときに、bashはすべてのジョブにSIGHUPを送信する。
                      tion when a word containing a @ is being completed (see Completing under  READLINE
                      above).  This is enabled by default.


              huponexit
:;inherit_errexit
                      If set, bash will send SIGHUP to all jobs when an interactive login shell exits.
::このオプションを設定すると、サブシェル環境でerrexitオプショ ンを設定解除する代わりに、コマンド置換がerrexitオプションの値を継承する。 このオプションは、posixモードが有効な場合に有効になる。


              inherit_errexit
:;interactive_comments
                      If  set, command substitution inherits the value of the errexit option, instead of
::このオプションが設定されている場合、#で始まる単語を許可すると、その単語とその行の残りのすべての文字が対話型シェルで無視される(上記の[[#COMMENTS|COMMENTS ]]を参照)。このオプションはデフォルトで有効になっている。
                      unsetting it in the subshell environment.  This option is enabled when posix  mode
                      is enabled.


              interactive_comments
:;lastpipe
                      If set, allow a word beginning with # to cause that word and all remaining charac‐
::設定され、ジョブ制御がアクティブでない場合、シェルは、現在のシェル環境でバックグラウンドで実行されていないパイプラインの最後のコマンドを実行する。
                      ters on that line to be ignored in an  interactive  shell  (see  COMMENTS  above).
                      This option is enabled by default.


              lastpipe
:;lithist
                      If  set, and job control is not active, the shell runs the last command of a pipe‐
::cmdhist オプションが有効な場合、複数行のコマンドは可能な限りセミコロン区切りではなく、改行を埋め込んで履歴に保存される。
                      line not executed in the background in the current shell environment.


              lithist If set, and the cmdhist option is enabled, multi-line commands are  saved  to  the
:;localvar_inherit
                      history with embedded newlines rather than using semicolon separators where possi‐
::設定されている場合、ローカル変数は、新しい値が代入される前に、前のスコープに存在する同名の変数の値と属性を継承する。 nameref属性は継承されない。
                      ble.


              localvar_inherit
:;localvar_unset
                      If set, local variables inherit the value and attributes of a variable of the same
::セットされている場合、以前の関数スコープにあるローカル変数に対してunsetを呼び出すと、その関数が返されるまでの間、後続のルックアップでunsetが見つかるようにマークされる。これは、現在の関数スコープでローカル変数をアンセットしたときの動作と同じである。
                      name  that  exists  at  a  previous  scope  before any new value is assigned.  The
                      nameref attribute is not inherited.


              localvar_unset
:;login_shell
                      If set, calling unset on local variables in previous function scopes marks them so
::シェルは、ログイン・シェルとして起動する場合、このオプションを設定する(上記の[[#INVOCATION|INVOCATION ]]を参照)。 この値は変更できない。
                      subsequent  lookups find them unset until that function returns. This is identical
                      to the behavior of unsetting local variables at the current function scope.


              login_shell
:;mailwarn
                      The shell sets this option if it is started  as  a  login  shell  (see  INVOCATION
::もしセットされていて、bashがメールをチェックしているファイルが前回チェックしたときからアクセスされていた場合、``The mailfile has been read''というメッセージが表示される。
                      above).  The value may not be changed.


              mailwarn
:;no_empty_cmd_completion
                      If set, and a file that bash is checking for mail has been accessed since the last
::readlineが使用されている場合、空の行で補完を試みても、PATHを検索して補完を試みることはない。
                      time it was checked, the message ``The mail in mailfile has been  read''  is  dis‐
                      played.


              no_empty_cmd_completion
:;nocaseglob
                      If set, and readline is being used, bash will not attempt to search the PATH for
::設定すると、bashはパス名展開(上記の[[#Pathname Expansion|Pathname Expansion ]]を参照)の際に、大文字と小文字を区別せずにファイル名をマッチングする。
                      possible completions when completion is attempted on an empty line.


              nocaseglob
:;nocasematch
                      If set, bash matches filenames in a case-insensitive fashion when performing path‐
::設定されていると、bashは大文字小文字を区別せずにパターンをマッチングする。大文字小文字や<nowiki>[[</nowiki> 条件付きコマンドの実行中にマッチングを行う場合、パターン置換の単語展開を行う場合、プログラム可能な補完の一部として可能な補完をフィルタリングする場合などである。
                      name expansion (see Pathname Expansion above).


              nocasematch
:;nullglob
                      If set, bash matches patterns in a case-insensitive fashion when performing match‐
::これを設定すると、bashはマッチするファイルがないパターン(上記の[[#Pathname Expansion|Pathname Expansion ]]を参照)を、それ自身ではなくNULL文字列に展開することができる。
                      ing while executing case or [[ conditional commands, when performing pattern sub‐
                      stitution word expansions, or when filtering possible completions as part of pro‐
                      grammable completion.


              nullglob
:;progcomp
                      If set, bash allows patterns which match no files (see Pathname  Expansion  above)
::設定されている場合、プログラマブル補完機能(上記の[[#Programmable Completion|Programmable Completion ]]を参照)が有効になる。 このオプションはデフォルトで有効になっている。
                      to expand to a null string, rather than themselves.


              progcomp
:;progcomp_alias
                      If set, the programmable completion facilities (see Programmable Completion above)
::設定され、プログラム可能な補完が有効になっている場合、bashは補完を持たないコマンド名をエイリアスの可能性があるものとして扱い、エイリアスの展開を試みる。エイリアスを持っている場合、bashは展開されたエイリアスの結果のコマンドワードを使用してプログラマブル補完を試みる。
                      are enabled.  This option is enabled by default.


              progcomp_alias
:;promptvars
                      If set, and programmable completion is enabled, bash treats a  command  name  that
::設定されている場合、プロンプト文字列は、上記のPROMPTINGで説明されているように 展開された後に、パラメータ展開、コマンド置換、算術展開、引用符除去を受ける。 このオプションはデフォルトで有効になっている。
                      doesn't  have any completions as a possible alias and attempts alias expansion. If
                      it has an alias, bash attempts programmable completion using the command word  re‐
                      sulting from the expanded alias.


              promptvars
:;restricted_shell
                      If  set,  prompt strings undergo parameter expansion, command substitution, arith‐
::シェルが制限付きモードで起動した場合、このオプションが設定される(下記の[[#RESTRICTED SHELL|RESTRICTED SHELL ]]を参照)。 この値は変更できない。 これは起動ファイルが実行されてもリセットされないので、起動ファイルはシェルが制限されているかどうかを発見することができる。
                      metic expansion, and quote removal after being expanded as described in  PROMPTING
                      above.  This option is enabled by default.


              restricted_shell
:;shift_verbose
                      The  shell  sets  this  option if it is started in restricted mode (see RESTRICTED
::設定されている場合、シフトカウントが位置パラメーターの数を超えると、shift 組み込み関数はエラーメッセージを表示する。
                      SHELL below).  The value may not be changed.  This is not reset when  the  startup
                      files  are executed, allowing the startup files to discover whether or not a shell
                      is restricted.


              shift_verbose
:;sourcepath
                      If set, the shift builtin prints an error message when the shift count exceeds the
::このオプションを設定すると、source (.) 組み込み関数が PATH の値を使用して、 引数として指定されたファイルを含むディレクトリを検索する。 このオプションはデフォルトで有効になっている。
                      number of positional parameters.


              sourcepath
:;xpg_echo
                      If  set,  the source (.) builtin uses the value of PATH to find the directory con‐
::設定すると、echo組み込み関数はデフォルトでバックスラッシュ・エスケープ・シーケンスを展開する。
                      taining the file supplied as an argument.  This option is enabled by default.


              xpg_echo
;<nowikI>suspend [-f]</nowiki>
                      If set, the echo builtin expands backslash-escape sequences by default.
:SIGCONT シグナルを受け取るまで、このシェルの実行を一時停止する。  ログインシェルはサスペンドできない。-f オプションを使用すると、これを上書きして強制的にサスペンドできる。シェルがログイン・シェルで -f が指定されていない場合、またはジョブ制御が有効になっていない場合、戻り値は 0 である。


      suspend [-f]
;test expr
              Suspend the execution of this shell until it receives a SIGCONT  signal.  A  login  shell
;<nowiki>[ expr ]</nowiki>
              cannot  be suspended; the -f option can be used to override this and force the suspension.
:条件式exprの評価に応じて、0(真)または1(偽)のステータスを返す。 各演算子とオペランドは別々の引数でなければならない。 testはいかなるオプションも受け付けないし、オプションの終了を意味する--という引数も受け付けず無視する。
              The return status is 0 unless the shell is a login shell and -f is not supplied, or if job
              control is not enabled.


      test expr
:式は以下の演算子を使って組み合わせることができる。 評価は引数の数に依存する。  演算子の優先順位は、引数が5つ以上ある場合に使用される。
      [ expr ]
:;! expr  
              Return  a  status  of 0 (true) or 1 (false) depending on the evaluation of the conditional
::exprがfalseなら真。
              expression expr.  Each operator and operand must be a separate argument.  Expressions  are
:;( expr )
              composed  of  the  primaries described above under CONDITIONAL EXPRESSIONS.  test does not
::expr の値を返す。 これは、演算子の通常の優先順位を上書きするために使われる。
              accept any options, nor does it accept and ignore an argument of -- as signifying the  end
:;expr1 -a expr2
              of options.
::expr1とexpr2の両方が真なら真である。
:;expr1 -o expr2
::expr1 または expr2 のどちらかが真なら真。


              Expressions  may  be combined using the following operators, listed in decreasing order of
:testと<nowiki>[</nowiki> は、引数の数に基づく一連のルールを使って条件式を評価する。
              precedence.  The evaluation depends on the  number  of  arguments;  see  below.  Operator
              precedence is used when there are five or more arguments.
              ! expr True if expr is false.
              ( expr )
                    Returns  the  value of expr.  This may be used to override the normal precedence of
                    operators.
              expr1 -a expr2
                    True if both expr1 and expr2 are true.
              expr1 -o expr2
                    True if either expr1 or expr2 is true.


              test and [ evaluate conditional expressions using a set of rules based on  the  number  of
:;0 arguments
              arguments.
::この表現は偽である。
:;1 argument
::この式は、引数がNULLでない場合にのみ真となる。
:;2 arguments
::最初の引数が! の場合、式は2番目の引数がNULLの場合のみ真となる。 最初の引数が、上記の「条件式」に列挙された単項条件演算子のいずれかである場合、単項テストが真であれば式は真となる。 最初の引数が有効な単項条件演算子でない場合、式は偽となる。
:;3 arguments
::以下の条件は、列挙された順序で適用される。 第2引数が、上記の「条件式」の項に列挙された二項条件演算子の1つである場合、式の結果は、第1引数と第3引数をオペランドとして使用した二項検定の結果となる。 a演算子と-o演算子は、3つの引数がある場合、二項演算子とみなされる。 第1引数が! の場合、値は、第2引数と第3引数を使った2引数テストの否定となる。 第1引数が正確に(かつ第3引数が正確に)である場合、結果は第2引数の1引数テストとなる。 そうでない場合、式は偽となる。
:;4 arguments
::最初の引数が!の場合、結果は残りの引数で構成される3つの引数式の否定となる。 そうでない場合、式はパースされ、上に挙げたルールを使って優先順位に従って評価される。
:;5 or more arguments
::式はパースされ、上記の規則を用いて優先順位に従って評価される。


              0 arguments
:演算子 < と > は、test または [ と一緒に使われると、ASCIIの順序で辞書順にソートされる。
                    The expression is false.
              1 argument
                    The expression is true if and only if the argument is not null.
              2 arguments
                    If  the first argument is !, the expression is true if and only if the second argu‐
                    ment is null.  If the first argument is one  of  the  unary  conditional  operators
                    listed  above  under  CONDITIONAL  EXPRESSIONS, the expression is true if the unary
                    test is true.  If the first argument is not a valid unary conditional operator, the
                    expression is false.
              3 arguments
                    The  following  conditions are applied in the order listed.  If the second argument
                    is one of the binary conditional operators listed above under  CONDITIONAL  EXPRES‐
                    SIONS,  the  result  of  the  expression is the result of the binary test using the
                    first and third arguments as operands.  The -a and -o operators are considered  bi‐
                    nary  operators  when  there  are three arguments.  If the first argument is !, the
                    value is the negation of the two-argument test using the  second  and  third  argu‐
                    ments.  If the first argument is exactly ( and the third argument is exactly ), the
                    result is the one-argument test of the second argument.  Otherwise, the  expression
                    is false.
              4 arguments
                    If  the  first  argument is !, the result is the negation of the three-argument ex‐
                    pression composed of the remaining arguments.  Otherwise, the expression is  parsed
                    and evaluated according to precedence using the rules listed above.
              5 or more arguments
                    The  expression  is  parsed  and  evaluated according to precedence using the rules
                    listed above.


              When used with test or [, the < and > operators sort lexicographically using ASCII order‐
;times  
              ing.
:シェルおよびシェルから実行されたプロセスの累積ユーザー時間および累積システム時間を表示する。 戻り値は 0 である。


      times  Print  the accumulated user and system times for the shell and for processes run from the
;<nowiki>trap [-lp] [[arg] sigspec ...]</nowiki>
              shell. The return status is 0.
:コマンド arg は、シェルがシグナル sigspec を受け取ったときに読み込まれ、実行される。 arg が存在しない場合 (sigspec が1つの場合) または - の場合、指定された各シグナルは元の値 (シェルに入ったときの値) にリセットされる。 arg が NULL 文字列の場合、各 sigspec で指定されたシグナルは、シェルおよびシェルが呼び出すコマンドによって無視される。 arg が存在せず、-p が供給された場合、各 sigspec に関連付けられたトラップコマンドが表示される。 引数がない場合、または -p だけが与えられた場合、 trap は各シグナルに関連付けられたコマンドのリストを表示する。 lオプションを指定すると、シェルはシグナル名とそれに対応する番号のリストを表示する。 各sigspecは、<signal.h>で定義されているシグナル名かシグナル番号である。 シグナル名は大文字と小文字を区別せず、接頭辞 SIG はオプションである。


      trap [-lp] [[arg] sigspec ...]
:sigspecがEXIT(0)の場合、コマンドargはシェルからの終了時に実行される。 sigspecがDEBUGの場合、コマンドargは、単純コマンド、forコマンド、caseコマンド、selectコマンド、すべての算術forコマンド、およびシェル関数内で最初のコマンドが実行される前に実行される(上記の[[#SHELL GRAMMAR|SHELL GRAMMAR ]]を参照)。 DEBUGトラップに対する効果の詳細については、shopt組み込みのextdebugオプションの説明を参照のこと。 sigspec が RETURN の場合、.source または source 組み込み関数で実行されたシェル関数またはスクリプトが実行を終了するたびに、コマンド arg が実行される。
              The command arg is to be read and executed when the shell receives signal(s) sigspec.  If
              arg  is absent (and there is a single sigspec) or -, each specified signal is reset to its
              original disposition (the value it had upon entrance to the shell).  If arg  is  the  null
              string the signal specified by each sigspec is ignored by the shell and by the commands it
              invokes. If arg is not present and -p has been supplied, then the trap  commands  associ‐
              ated  with  each  sigspec  are  displayed.  If no arguments are supplied or if only -p is
              given, trap prints the list of commands associated with each signal.  The -l option causes
              the  shell  to print a list of signal names and their corresponding numbers.  Each sigspec
              is either a signal name defined in <signal.h>, or a signal number.  Signal names are  case
              insensitive and the SIG prefix is optional.


              If a sigspec is EXIT (0) the command arg is executed on exit from the shell.  If a sigspec
:sigspecがERRの場合、パイプライン(単一の単純なコマンドで構成されることもある)、リスト、または複合コマンドが、以下の条件に従って、ゼロ以外の終了ステータスを返すたびに、コマンドargが実行される。 ERR トラップは、失敗したコマンドが while または until キーワードの直後のコマンドリストの一部である場合、if 文のテストの一部である場合、最後の && または || に続くコマンド以外の && または || リストで実行されるコマンドの一部である場合、パイプラインの最後のコマンド以外のコマンドである場合、コマンドの戻り値が ! これらは、errexit (-e)オプションが従う条件と同じである。
              is DEBUG, the command arg is executed before every simple command, for command, case  com‐
              mand, select command, every arithmetic for command, and before the first command executes
              in a shell function (see SHELL GRAMMAR above).  Refer to the description of  the  extdebug
              option  to the shopt builtin for details of its effect on the DEBUG trap.  If a sigspec is
              RETURN, the command arg is executed each time a shell function or a script  executed  with
              the . or source builtins finishes executing.


              If a sigspec is ERR, the command arg is executed whenever a pipeline (which may consist of
:シェルに入ったときに無視されたシグナルは、トラップもリセットもできない。 無視されないトラップされたシグナルは、サブシェルまたはサブシェル環境が作成されると、元の値にリセットされる。 sigspecが無効な場合、戻りステータスはfalseになり、そうでなければtrapはtrueを返す。
              a single simple command), a list, or a compound command returns a  non-zero  exit  status,
              subject  to  the following conditions.  The ERR trap is not executed if the failed command
              is part of the command list immediately following a while or until keyword,  part  of  the
              test  in an if statement, part of a 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 using !.  These are the same conditions obeyed by the er‐
              rexit (-e) option.


              Signals ignored upon entry to the shell cannot be trapped or reset. Trapped signals  that
;<nowiki>type [-aftpP] name [name ...]</nowiki>
              are  not  being ignored are reset to their original values in a subshell or subshell envi‐
:オプションがない場合は、それぞれの名前がコマンド名として使われた場合にどのように解釈されるかを示す。tオプションが使われると、typeは、nameがエイリアス、シェル予約語、関数、組み込み関数、ディスクファイルの場合、それぞれエイリアス、キーワード、関数、組み込み関数、ディスクファイルのいずれかの文字列を表示する。 名前が見つからない場合は何も表示されず、終了ステータスにfalseが返される。 -pオプションが使われた場合、typeはnameがコマンド名として指定された場合 に実行されるディスクファイルの名前を返すか、``type -t name''がfileを返さない場合は何も返さない。 -P オプションをつけると、``type -t name'' が file を返さない場合でも、それぞれの名前に対して PATH を検索する。 コマンドがハッシュ化されている場合、-p と -P はハッシュ化された値を表示するが、必ずしも PATH で最初に表示されるファイルとは限らない。 -aオプションが使われると、nameという名前の実行ファイルを含むすべての場所を表示する。 これには、-pオプションも使用されていない場合に限り、エイリアスや関数も含まれる。 aを使用する場合、ハッシュ化されたコマンドのテーブルは参照されない。 fオプションは、コマンド組み込み関数と同様にシェル関数の検索を抑制する。 typeは、すべての引数が見つかった場合はtrueを返し、見つからなかった場合はfalseを返す。
              ronment when one is created. The return status is false if any sigspec is invalid; other‐
              wise trap returns true.


      type [-aftpP] name [name ...]
;<nowiki>ulimit [-HS] -a</nowiki>
              With  no  options,  indicate how each name would be interpreted if used as a command name.
;<nowiki>ulimit [-HS] [-bcdefiklmnpqrstuvxPRT [limit]]</nowiki>
              If the -t option is used, type prints a string which is one of alias,  keyword,  function,
:シェルやシェルによって起動されるプロセスが利用可能なリソースを制御する。-Hおよび-Sオプションは、指定されたリソースに対してハードリミットまたはソフトリミットを設定することを指定する。 ハードリミットは、一度設定されると非 root ユーザーが増やすことはできない。 Hも-Sも指定しない場合、ソフトリミットとハードリミットの両方が設定される。 limitの値には、リソースに指定された単位の数値を指定するか、特別な値hard、soft、unlimitedのいずれかを指定する。hardは現在のハードリミット、softは現在のソフトリミット、unlimitedはリミットなしをそれぞれ表す。 limitが省略された場合は、-Hオプションが与えられていない限り、リソースのソフトリミットの現在値が表示される。 複数のリソースを指定した場合は、値の前にリミット名と単位 (適切な場合) が表示される。 その他のオプションは、以下のように解釈される:
              builtin,  or  file  if  name  is an alias, shell reserved word, function, builtin, or disk
:;-a
              file, respectively.  If the name is not found, then nothing is printed, and an exit status
::すべての電流制限を報告する。
              of  false is returned.  If the -p option is used, type either returns the name of the disk
:;-b
              file that would be executed if name were specified as a command name, or nothing if ``type
::ソケットバッファの最大サイズ
              -t  name''  would not return file.  The -P option forces a PATH search for each name, even
:;-c
              if ``type -t name'' would not return file.  If a command is hashed, -p and  -P  print  the
::作成されるコアファイルの最大サイズ
              hashed value, which is not necessarily the file that appears first in PATH.  If the -a op‐
:;-d
              tion is used, type prints all of the places that contain an executable named  name.  This
プロセスのデータセグメントの最大サイズである。
              includes  aliases and functions, if and only if the -p option is not also used.  The table
:;-e
              of hashed commands is not consulted when using -a.  The -f option suppresses  shell  func‐
スケジューリング優先度の最大値("nice")。
              tion  lookup,  as with the command builtin.  type returns true if all of the arguments are
:;-f
              found, false if any are not found.
シェルとその子プロセスが書き込むファイルの最大サイズである。
:;-i
::pending シグナルの最大数
:;-k
::割り当て可能なkキューの最大数
:;-l
::メモリにロックできる最大サイズ
:;-m
::常駐セットの最大サイズ(多くのシステムはこの制限を守らない)
:;-n
::開いているファイル記述子の最大数(多くのシステムはこの値の設定を許可しない)
:;-p
::512バイトブロック単位のパイプサイズ(この値は設定できない場合がある)
:;-q
::POSIXメッセージ・キューの最大バイト数
:;-r
::リアルタイム・スケジューリングの最大優先度
:;-s
::最大スタックサイズ
:;-t
::最大CPU時間(秒)
:;-u
::1ユーザーが利用可能な最大プロセス数
:;-v
::シェルと、システムによってはその子シェルが利用可能な仮想メモリの最大量
:;-x
::ファイルロックの最大数
:;-P
::疑似端末の最大数
:;-R
::リアルタイムプロセスがブロックされるまでに実行できる最大時間(マイクロ秒単位
:;-T
::スレッドの最大数


      ulimit [-HS] -a
:limitが与えられ、-aオプションが使われていない場合、 limitは指定されたリソースの新しい値になる。 オプションが与えられていない場合は、-fが仮定される。 ただし、-tは秒単位、-Rはマイクロ秒単位、-pは512バイトブロック単位、 -P、-T、-b、-k、-n、-uはスケールなし、 posixモードでは-cと-fは512バイト単位である。 無効なオプションや引数が与えられるか、新しいリミット値の設定中にエラーが発生しない限り、戻り値は0である。
      ulimit [-HS] [-bcdefiklmnpqrstuvxPRT [limit]]
              Provides control over the resources available to the shell and to processes started by it,
              on  systems  that allow such control.  The -H and -S options specify that the hard or soft
              limit is set for the given resource.  A hard limit cannot be increased by a non-root  user
              once  it is set; a soft limit may be increased up to the value of the hard limit.  If nei‐
              ther -H nor -S is specified, both the soft and hard limits are set.  The  value  of  limit
              can  be a number in the unit specified for the resource or one of the special values hard,
              soft, or unlimited, which stand for the current hard limit, the current soft limit, and no
              limit,  respectively.  If limit is omitted, the current value of the soft limit of the re‐
              source is printed, unless the -H option is given.  When more than one resource  is  speci‐
              fied,  the  limit  name and unit, if appropriate, are printed before the value.  Other op‐
              tions are interpreted as follows:
              -a    All current limits are reported; no limits are set
              -b    The maximum socket buffer size
              -c    The maximum size of core files created
              -d    The maximum size of a process's data segment
              -e    The maximum scheduling priority ("nice")
              -f    The maximum size of files written by the shell and its children
              -i    The maximum number of pending signals
              -k    The maximum number of kqueues that may be allocated
              -l    The maximum size that may be locked into memory
              -m    The maximum resident set size (many systems do not honor this limit)
              -n    The maximum number of open file descriptors (most systems do not allow  this  value
                    to be set)
              -p    The pipe size in 512-byte blocks (this may not be set)
              -q    The maximum number of bytes in POSIX message queues
              -r    The maximum real-time scheduling priority
              -s    The maximum stack size
              -t    The maximum amount of cpu time in seconds
              -u    The maximum number of processes available to a single user
              -v    The  maximum  amount of virtual memory available to the shell and, on some systems,
                    to its children
              -x    The maximum number of file locks
              -P    The maximum number of pseudoterminals
              -R    The maximum time a real-time process can run before blocking, in microseconds
              -T    The maximum number of threads


              If limit is given, and the -a option is not used, limit is the new value of the  specified
;<nowiki>umask [-p] [-S] [mode]</nowiki>
              resource.  If no option is given, then -f is assumed.  Values are in 1024-byte increments,
:ユーザーファイル作成マスクは mode に設定される。 mode が数字で始まる場合は、8進数として解釈される。そうでない場合は、 chmod(1) が受け付けるものと同様のシンボリック・モード・マスクとして解釈される。 modeが省略された場合、マスクの現在の値が表示される。-Sオプションを指定すると、マスクが記号形式で表示される。 -pオプションが与えられ、modeが省略された場合、入力として再利用可能な形式で出力される。 戻りステータスは、モードの変更に成功した場合、または mode 引数が与えられなかった場合は 0 であり、そうでない場合は false である。
              except for -t, which is in seconds; -R, which is in microseconds; -p, which is in units of
              512-byte blocks; -P, -T, -b, -k, -n, and -u, which are unscaled values; and, when in posix
              mode, -c and -f, which are in 512-byte increments.  The return status is 0 unless  an  in‐
              valid option or argument is supplied, or an error occurs while setting a new limit.


      umask [-p] [-S] [mode]
;<nowiki>unalias [-a] [name ...]</nowiki>
              The  user  file-creation  mask  is set to mode. If mode begins with a digit, it is inter‐
:定義されているエイリアスのリストからそれぞれの名前を削除する。 -aを指定すると、すべてのエイリアス定義が削除される。 与えられた名前が定義されたエイリアスでない限り、戻り値は真である。
              preted as an octal number; otherwise it is interpreted as a symbolic mode mask similar  to
              that  accepted by chmod(1). If mode is omitted, the current value of the mask is printed.
              The -S option causes the mask to be printed in symbolic form; the default output is an oc‐
              tal  number.  If  the -p option is supplied, and mode is omitted, the output is in a form
              that may be reused as input.  The return status is 0 if the mode was successfully  changed
              or if no mode argument was supplied, and false otherwise.


      unalias [-a] [name ...]
;<nowiki>unset [-fv] [-n] [name ...]</nowiki>
              Remove each  name from the list of defined aliases.  If -a is supplied, all alias defini‐
:それぞれの名前に対して、対応する変数または関数を削除する。 -vオプションが指定された場合、各名前はシェル変数を参照し、その変数が削除される。 読み取り専用の変数は設定解除できない。-f を指定すると、各名称はシェル関数を指し、その関数定義が削除される。-n オプションが指定され、name が nameref 属性を持つ変数である場合、name は参照先の変数ではなくアンセットされる。 -nオプションは、-fオプションが与えられている場合には何の効果もない。 その名前の変数がない場合、その名前の関数があればアンセットされる。 アンセットされた変数や関数は、後続のコマンドに渡される環境から取り除かれる。 '''BASH_ALIASES'''、'''BASH_ARGV0'''、'''BASH_CMDS'''、'''BASH_COMMAND'''、'''BASH_SUBSHELL'''、'''BASHPID'''、'''COMP_WORDBREAKS'''、'''DIRSTACK'''、'''EPOCHREALTIME'''、'''EPOCHSECONDS'''、'''FUNCNAME'''、'''GROUPS'''、'''HISTCMD'''、'''LINENO'''、'''RANDOM'''、'''SECONDS'''、'''SRANDOM'''のどれかがアンセットされると、たとえその後にリセットされたとしても、特別なプロパティは失われる。 名前が読み取り専用でない限り、終了ステータスは真である。
              tions are removed.  The return value is true unless a  supplied name  is  not  a  defined
              alias.


      unset [-fv] [-n] [name ...]
;<nowiki>wait [-fn] [-p varname] [id ...]</nowiki>
              For  each name, remove the corresponding variable or function.  If the -v option is given,
:指定された各子プロセスを待ち、その終了ステータスを返す。 各idは、プロセスIDまたはジョブ指定である。ジョブ指定が与えられた場合、 そのジョブのパイプラインにある全てのプロセスが待たれる。 idが与えられない場合、waitは実行中のすべてのバックグラウンド・ジョブと、 最後に実行されたプロセス置換(そのプロセスidが$! -nオプションが与えられた場合、waitはidのリストから1つのジョブ、またはidが与えられない場合は任意のジョブの完了を待ち、その終了ステータスを返す。与えられた引数のどれもがシェルの子でない場合、または引数が与えられず、シェルに待機していない子がない場合、終了ステータスは127である。 -p オプションが与えられると、終了ステータスが返されたジョブのプロセスまたはジョブ識別子が、 オプション引数で指定された変数 varname に代入される。 この変数は、代入の前に初期状態では設定されていない。 これは、-n オプションが指定されている場合にのみ有効である。 ジョブ制御が有効になっているときに -f オプションを指定すると、id がステータスを変更したときに返すのではなく、id が終了するのを待ってからステータスを返すようになる。 idが存在しないプロセスまたはジョブを指定した場合、返されるステータスは127である。 それ以外の場合は、最後に待機したプロセスまたはジョブの終了ステータスが返される。
              each name refers to a shell variable, and that variable is removed.  Read-only  variables
              may not be unset.  If -f is specified, each name refers to a shell function, and the func‐
              tion definition is removed.  If the -n option is supplied, and name is a variable with the
              nameref  attribute,  name will be unset rather than the variable it references.  -n has no
              effect if the -f option is supplied.  If no options are supplied, each name  refers  to  a
              variable; if there is no variable by that name, a function with that name, if any, is un‐
              set.  Each unset variable or function is removed from the environment passed to subsequent
              commands.  If  any  of  BASH_ALIASES, BASH_ARGV0, BASH_CMDS, BASH_COMMAND, BASH_SUBSHELL,
              BASHPID,  COMP_WORDBREAKS,  DIRSTACK,  EPOCHREALTIME,  EPOCHSECONDS,  FUNCNAME,  GROUPS,
              HISTCMD,  LINENO,  RANDOM,  SECONDS, or SRANDOM are unset, they lose their special proper‐
              ties, even if they are subsequently reset.  The exit status is true unless a name is read‐
              only.
 
      wait [-fn] [-p varname] [id ...]
              Wait for each specified child process and return its termination status.  Each id may be a
              process ID or a job specification; if a job spec is given, all  processes  in  that  job's
              pipeline  are  waited for.  If id is not given, wait waits for all running background jobs
              and the last-executed process substitution, if its process id is the same as $!,  and  the
              return status is zero.  If the -n option is supplied, wait waits for a single job from the
              list of ids or, if no ids are supplied, any job, to complete and returns its exit  status.
              If none of the supplied arguments is a child of the shell, or if no arguments are supplied
              and the shell has no unwaited-for children, the exit status is 127.  If the -p option  is
              supplied,  the  process or job identifier of the job for which the exit status is returned
              is assigned to the variable varname named by the option argument.  The  variable  will  be
              unset  initially,  before  any assignment.  This is useful only when the -n option is sup‐
              plied.  Supplying the -f option, when job control is enabled, forces wait to wait  for  id
              to terminate before returning its status, instead of returning when it changes status.  If
              id specifies a non-existent process or job, the return status is 127.  Otherwise, the  re‐
              turn status is the exit status of the last process or job waited for.


== SHELL COMPATIBILITY MODE ==
== SHELL COMPATIBILITY MODE ==
      Bash-4.0 introduced  the concept of a `shell compatibility level', specified as a set of options
Bash-4.0では「シェル互換性レベル」という概念が導入され、shopt組み込みのcompat31、compat32、compat40、compat41などに対するオプションのセットとして指定される。) 現在の互換性レベルは1つだけで、各オプションは相互に排他的である。 互換性レベルは、ユーザーが新しいバージョンと互換性のない旧バージョンの動作を選択できるようにするためのもので、スクリプトを移行して現在の機能と動作を使用できるようにするためのものである。これは一時的な解決策である。
      to the shopt builtin compat31, compat32, compat40, compat41, and so on).  There is only one  cur‐
      rent  compatibility  level  -- each option is mutually exclusive.  The compatibility level is in‐
      tended 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.


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


      If a user enables, say, compat32, it may affect the behavior of other compatibility levels up to
ユーザーが例えばcompat32を有効にすると、現在の互換性レベルまでの他の互換性レベルの動作に影響を与える可能性がある。 各互換性レベルは、そのバージョンのbashで変更された動作を制御するが、その動作は以前のバージョンにもあったかもしれないという考え方である。 例えば、[[ コマンドでロケール・ベースの比較を使用するようになったのはbash-4.1からで、それ以前のバージョンではASCIIベースの比較を使っていたため、compat32を有効にするとASCIIベースの比較も有効になる。 そのため、compat32を有効にすると、ASCIIベースの比較も有効になる。この細かさは、すべての用途に十分とは限らないので、ユーザーは互換性レベルを慎重に使用すべきである。 現在の動作を知るには、特定の機能のドキュメントを読むこと。
      and  including  the  current compatibility level.  The idea is that each compatibility level con‐
      trols 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.


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


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


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


      The  following  table  describes the behavior changes controlled by each compatibility level set‐
以下の表は、各互換性レベルの設定によって制御される動作の変更について説明したものである。 compatNNタグは、以下のメカニズムのいずれかを使用して互換性レベルをNNに設定するための省略記法として使用される。 bash-5.0より前のバージョンでは、対応するcompatNN shoptオプションを使用して互換性レベルを設定することができる。 bash-4.3およびそれ以降のバージョンでは、BASH_COMPAT変数を使用するのが望ましく、bash-5.1およびそれ以降のバージョンでは必須である。
      ting.  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.


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


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


      compat40
;compat40
              •      the  < and  > operators to the [[ command do not consider the current locale when
* コマンドの < > 演算子は、文字列を比較するときに現在のロケールを考慮しない。 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)を使用する。
                    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 colla‐
                    tion sequence and strcoll(3).


      compat41
;compat41
              •      in posix mode, time may be followed by options and still be  recognized  as  a  re‐
* posixモードでは、timeの後にオプションを付けても予約語として認識される(これはPOSIX解釈267)。
                    served word (this is POSIX interpretation 267)
* posix モードでは、パーサーは二重引用符で囲まれたパラメータ展開の単語部分に偶数の一重引用符があることを要求し、一重引用符内の文字が引用符で囲まれたとみなされるように、それらを特別に扱う(これは POSIX 解釈 221 である)。
              •      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)


      compat42
;compat42
              •      the replacement string in double-quoted pattern substitution does not undergo quote
* 二重引用符で囲まれたパターン置換の置換文字列は、bash-4.2以降のバージョンでは引用符の削除を行わない。
                    removal, as it does in versions after bash-4.2
* posixモードでは、二重引用符で囲まれたパラメータ展開の単語部分を展開するとき、一重引用符は特別なものとみなされ、閉じ波括弧や他の特別な文字を引用するために使用できる(これはPOSIX解釈221の一部である)。
              •      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 ver‐
                    sions, single quotes are not special within double-quoted word expansions


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


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


      compat50
;compat50
              •      Bash-5.1 changed the way $RANDOM is generated to introduce  slightly  more  random‐
* Bash-5.1では、$RANDOMの生成方法が変更され、若干ランダム性が増した。 シェルの互換性レベルが50以下に設定されている場合、bash-5.0とそれ以前のバージョンの方法に戻るので、RANDOMに値を代入して乱数ジェネレーターをシードすると、bash-5.0と同じシーケンスが生成される。
                    ness.  If  the  shell  compatibility level is set to 50 or lower, it reverts to the
* コマンド・ハッシュ・テーブルが空の場合、bash-5.1より前のバージョンのbashでは、入力として再利用できる出力を生成する場合でも、その旨の情報メッセージが表示された。Bash-5.1では、-lオプションが指定されると、このメッセージが表示されなくなる。
                    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
              •      If  the command hash table is empty, bash versions prior to bash-5.1 printed an in‐
                    formational 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.


== RESTRICTED SHELL ==
== RESTRICTED SHELL ==
      If bash is started with the name rbash, or the -r option is supplied at invocation, the shell be‐
bashをrbashという名前で起動するか、起動時に-rオプションを指定すると、シェルは制限付きになる。 制限付きシェルは、標準シェルよりも制御された環境を設定するために使用される。 動作はbashと同じだが、例外として以下のことが禁止または実行されない:
      comes restricted.  A restricted shell is used to set up an environment more controlled  than  the
      standard  shell.  It behaves identically to bash with the exception that the following are disal‐
      lowed or not performed:
 
      •      changing directories with cd
 
      •      setting or unsetting the values of SHELL, PATH, HISTFILE, ENV, or BASH_ENV
 
      •      specifying command names containing /
 
      •      specifying a filename containing a / as an argument to the .  builtin command
 
      •      specifying a filename containing a slash as an argument to the history builtin command
 
      •      specifying a filename containing a slash as an argument to  the  -p  option  to  the  hash
              builtin command
 
      •      importing function definitions from the shell environment at startup
 
      •      parsing the value of SHELLOPTS from the shell environment at startup
 
      •      redirecting output using the >, >|, <>, >&, &>, and >> redirection operators
 
      •      using the exec builtin command to replace the shell with another command
 
      •      adding  or deleting builtin commands with the -f and -d options to the enable builtin com‐
              mand
 
      •      using the enable builtin command to enable disabled shell builtins
 
      •      specifying the -p option to the command builtin command


      •      turning off restricted mode with set +r or set +o restricted.
* cdでディレクトリを変更する
* '''SHELL'''、'''PATH'''、'''HISTFILE'''、'''ENV'''、'''BASH_ENV'''の値を設定または解除する。
* / を含むコマンド名を指定する。
* .builtinコマンドの引数として、/を含むファイル名を指定する。
* スラッシュを含むファイル名をhistory組み込みコマンドの引数として指定する。
* hash組み込みコマンドの-pオプションの引数として、スラッシュを含むファイル名を指定する。
* 起動時にシェル環境から関数定義をインポートする。
* 起動時にシェル環境からSHELLOPTSの値を解析する。
* リダイレクト演算子 >, >|, <>, >&, &>, >> を使って出力をリダイレクトする。
* exec組み込みコマンドを使用して、シェルを別のコマンドに置き換える。
* enable 組み込みコマンドに -f および -d オプションをつけて、組み込みコマンドを追加または削除する。
* enable builtinコマンドを使用して、無効になっているシェル組み込みコマンドを有効にする。
* command組み込みコマンドに-pオプションを指定する。
* set +r または set +o restricted で制限モードをオフにする。


      These restrictions are enforced after any startup files are read.
これらの制限は、起動ファイルが読み込まれた後に実行される。


      When a command that is found to be a shell script is  executed  (see  COMMAND EXECUTION above),
シェルスクリプトであることが判明したコマンドが実行されると(上記の[[#COMMAND EXECUTION|COMMAND EXECUTION ]]を参照)、rbashはスクリプトを実行するために生成されたシェルの制限をすべてオフにする。
      rbash turns off any restrictions in the shell spawned to execute the script.


== SEE ALSO ==
== SEE ALSO ==