|
|
(133 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| bash - GNU Bourne-Again SHell | | bash - GNU Bourne-Again SHell |
|
| |
|
| SYNOPSIS | | == SYNOPSIS == |
| bash [options] [command_string | file] | | bash [options] [command_string | file] |
|
| |
|
| COPYRIGHT | | == COPYRIGHT == |
| Bash is Copyright (C) 1989-2020 by the Free Software Foundation, Inc.
| | Bash is Copyright (C) 1989-2020 by the Free Software Foundation, Inc. |
|
| |
|
| DESCRIPTION | | == DESCRIPTION == |
| Bash is an sh-compatible command language interpreter that executes commands read from the stan‐
| | Bashはsh互換のコマンド言語インタプリタであり、標準入力やファイルから読み込んだコマンドを実行する。 Bashには、KornシェルやCシェル(kshやcsh)の便利な機能も組み込まれている。 |
| dard input or from a file. Bash also incorporates useful features from the Korn and C shells
| |
| (ksh and csh).
| |
|
| |
|
| Bash is intended to be a conformant implementation of the Shell and Utilities portion of the IEEE
| | Bashは、IEEE POSIX仕様(IEEE Standard 1003.1)のシェルとユーティリティの部分に準拠した実装を意図している。 BashはデフォルトでPOSIXに準拠するように設定できる。 |
| POSIX specification (IEEE Standard 1003.1). Bash can be configured to be POSIX-conformant by de‐
| |
| fault.
| |
|
| |
|
| OPTIONS | | == OPTIONS == |
| All of the single-character shell options documented in the description of the set builtin com‐
| | ''-o''を含め、set組み込みコマンドの説明で文書化されている1文字のシェル・オプションはすべて、シェル起動時のオプションとして使用できる。 さらに、bashは起動時に以下のオプションを解釈する: |
| mand, including -o, can be used as options when the shell is invoked. In addition, bash inter‐
| |
| prets the following options when it is invoked:
| |
|
| |
|
| -c If the -c option is present, then commands are read from the first non-option argument
| | ;-c |
| command_string. If there are arguments after the command_string, the first argument is
| | :オプションがある場合、コマンドは最初の非オプション引数 command_string から読み込まれる。 -cオプションがある場合、コマンドは最初のオプション以外の引数command_stringから読み込まれる。command_stringの後に引数がある場合、最初の引数は$0に代入され、残りの引数は位置パラメーターに代入される。0への代入は、シェルの名前を設定し、警告やエラーメッセージで使われる。 |
| assigned to $0 and any remaining arguments are assigned to the positional parameters.
| | ;-i |
| The assignment to $0 sets the name of the shell, which is used in warning and error
| | :オプションを指定すると、シェルは対話型になる。 |
| messages.
| | ;-l |
| -i If the -i option is present, the shell is interactive.
| | :bash をログイン・シェルとして起動したかのように動作させる(後述の '''[[#INVOCATION|INVOCATION ]]''' を参照)。 |
| -l Make bash act as if it had been invoked as a login shell (see INVOCATION below).
| | ;-r |
| -r If the -r option is present, the shell becomes restricted (see RESTRICTED SHELL below).
| | :オプションを指定すると、シェルが制限される(後述の'''[[#RESTRICTED SHELL|RESTRICTED SHELL ]]'''を参照)。 |
| -s If the -s option is present, or if no arguments remain after option processing, then
| | ;-s |
| commands are read from the standard input. This option allows the positional parame‐
| | :オプションがある場合、またはオプション処理後に引数が残っていない場合、コマンドは標準入力から読み込まれる。 このオプションにより、対話型シェルを起動するときや、 パイプ経由で入力を読み込むときに、位置パラメーターを設定できる。 |
| ters to be set when invoking an interactive shell or when reading input through a pipe.
| | ;-v |
| -v Print shell input lines as they are read.
| | :読み込まれたシェル入力行を表示する。 |
| -x Print commands and their arguments as they are executed.
| | ;-x |
| -D A list of all double-quoted strings preceded by $ is printed on the standard output.
| | :実行されたコマンドとその引数を表示する。 |
| These are the strings that are subject to language translation when the current locale
| | ;-D |
| is not C or POSIX. This implies the -n option; no commands will be executed.
| | :$で始まるすべての二重引用符付き文字列のリストを標準出力に出力する。 |
| [-+]O [shopt_option]
| |
| shopt_option is one of the shell options accepted by the shopt builtin (see SHELL
| |
| BUILTIN COMMANDS below). If shopt_option is present, -O sets the value of that option;
| |
| +O unsets it. If shopt_option is not supplied, the names and values of the shell op‐
| |
| tions accepted by shopt are printed on the standard output. If the invocation option
| |
| is +O, the output is displayed in a format that may be reused as input.
| |
| -- A -- signals the end of options and disables further option processing. Any arguments
| |
| after the -- are treated as filenames and arguments. An argument of - is equivalent to
| |
| --.
| |
|
| |
|
| Bash also interprets a number of multi-character options. These options must appear on the com‐
| | これらは、現在のロケールがCでもPOSIXでもない場合に言語変換の対象となる文字列である。 これは-nオプションを意味し、コマンドは実行されない。 |
| mand line before the single-character options to be recognized.
| | ;<nowiki>[-+]O [shopt_option]</nowiki> |
| | :shopt_optionは、shopt組み込み関数が受け付けるシェル・オプションの1つである(後述の'''[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]'''参照)。 shopt_option が存在する場合、-O はそのオプションの値を設定する; |
| | :+Oで設定を解除する。 shopt_option が与えられない場合、 shopt が受け付けるシェルオプションの名前と値が標準出力に表示される。 起動オプションが +O の場合、出力は入力として再利用できる形式で表示される。 |
| | :-- はオプションの終了を知らせ、それ以降のオプション処理を無効にする。 の後の引数は、ファイル名と引数として扱われる。 '-'の引数は''--''と等価である。 |
|
| |
|
| --debugger
| | Bashは、複数文字のオプションも解釈する。 これらのオプションは、1文字のオプションよりも前にコマンドラインに現れなければ認識されない。 |
| Arrange for the debugger profile to be executed before the shell starts. Turns on ex‐
| |
| tended debugging mode (see the description of the extdebug option to the shopt builtin be‐
| |
| low).
| |
| --dump-po-strings
| |
| Equivalent to -D, but the output is in the GNU gettext po (portable object) file format.
| |
| --dump-strings
| |
| Equivalent to -D.
| |
| --help Display a usage message on standard output and exit successfully.
| |
| --init-file file
| |
| --rcfile file
| |
| Execute commands from file instead of the system wide initialization file /etc/bash.bashrc
| |
| and the standard personal initialization file ~/.bashrc if the shell is interactive (see
| |
| INVOCATION below).
| |
|
| |
|
| --login
| | ;--debugger |
| Equivalent to -l.
| | :シェルが起動する前にデバッガ・プロファイルが実行されるようにする。 拡張デバッグモードをオンにする(以下のshopt組み込み関数へのextdebugオプションの説明を参照のこと)。 |
| | ;--dump-po-strings |
| | :-D と同等だが、出力は GNU gettext po (portable object) ファイル形式になる。 |
| | ;--dump-strings |
| | :-Dと同等である。 |
| | ;--help Display a usage message on standard output and exit successfully. |
| | ;--init-file file |
| | ;--rcfile file |
| | :シェルが対話型の場合、システム全体の初期化ファイル[[/etc/bash.bashrc]]と標準の個人用初期化ファイル~/.bashrcの代わりに、ファイルからコマンドを実行する(下記の'''[[#INVOCATION|INVOCATION ]]'''を参照)。 |
| | ;--login |
| | :-lと同等である。 |
|
| |
|
| --noediting
| | ;--noediting |
| Do not use the GNU readline library to read command lines when the shell is interactive.
| | :シェルが対話型の場合、GNU readline ライブラリを使ってコマンドラインを読まない。 |
|
| |
|
| --noprofile
| | ;--noprofile |
| Do not read either the system-wide startup file /etc/profile or any of the personal ini‐
| | :システム全体の起動ファイル[[/etc/profile]]や、個人用の初期化ファイル~/.bash_profile、~/.bash_login、~/.profileを読み込まない。 デフォルトでは、bashはログイン・シェルとして起動されたときにこれらのファイルを読み込む(後述の'''[[#INVOCATION|INVOCATION ]]'''を参照)。 |
| tialization files ~/.bash_profile, ~/.bash_login, or ~/.profile. By default, bash reads
| |
| these files when it is invoked as a login shell (see INVOCATION below).
| |
|
| |
|
| --norc Do not read and execute the system wide initialization file /etc/bash.bashrc and the per‐
| | ;--norc |
| sonal initialization file ~/.bashrc if the shell is interactive. This option is on by de‐
| | :シェルが対話型の場合、システム全体の初期化ファイル[[/etc/bash.bashrc]]と個人の初期化ファイル~/.bashrcを読み込んで実行しない。 シェルが sh として起動された場合、このオプションはデフォルトでオンになる。 |
| fault if the shell is invoked as sh.
| | ;--posix |
| | :デフォルトの動作がPOSIX標準と異なるbashの動作を標準に合わせるように変更する(posixモード)。 posixモードがbashの動作にどのような影響を与えるかについての詳細は、後述の'''[[#SEE ALSO|SEE ALSO ]]'''を参照のこと。 |
|
| |
|
| --posix
| | ;--restricted |
| Change the behavior of bash where the default operation differs from the POSIX standard to
| | :シェルが制限された状態になる(下記の'''[[#RESTRICTED SHELL|RESTRICTED SHELL ]]'''を参照)。 |
| match the standard (posix mode). See SEE ALSO below for a reference to a document that
| |
| details how posix mode affects bash's behavior.
| |
|
| |
|
| --restricted
| | ;--verbose |
| The shell becomes restricted (see RESTRICTED SHELL below).
| | :-vと同等である。 |
|
| |
|
| --verbose
| | ;--version |
| Equivalent to -v.
| | :bashのバージョン情報を標準出力に表示し、正常終了する。 |
|
| |
|
| --version
| | == ARGUMENTS == |
| Show version information for this instance of bash on the standard output and exit suc‐
| | オプション処理後に引数が残り、-cオプションも-sオプションも指定されていない場合、最初の引数はシェルコマンドを含むファイル名とみなされる。 この方法でbashが起動されると、$0にファイル名が設定され、位置パラメーターに残りの引数が設定される。 Bashはこのファイルからコマンドを読み込んで実行し、終了する。Bashの終了ステータスは、スクリプト内で最後に実行されたコマンドの終了ステータスである。 コマンドが実行されなかった場合、 |
| cessfully.
| | まず、カレントディレクトリのファイルを開こうとし、ファイルが見つからなければ、PATH内のディレクトリからスクリプトを探す。 |
|
| |
|
| ARGUMENTS
| | == INVOCATION == |
| If arguments remain after option processing, and neither the -c nor the -s option has been sup‐
| | ログインシェルとは、引数ゼロの最初の文字が - であるシェル、または --login オプションで起動されるシェルのことである。 |
| plied, the first argument is assumed to be the name of a file containing shell commands. If bash
| |
| is invoked in this fashion, $0 is set to the name of the file, and the positional parameters are
| |
| set to the remaining arguments. Bash reads and executes commands from this file, then exits.
| |
| Bash's exit status is the exit status of the last command executed in the script. If no commands
| |
| are executed, the exit status is 0. An attempt is first made to open the file in the current di‐
| |
| rectory, and, if no file is found, then the shell searches the directories in PATH for the
| |
| script.
| |
|
| |
|
| INVOCATION
| | 対話型シェルとは、(-s が指定されていない限り) オプション以外の引数を指定せず、かつ -c オプションを指定せずに、標準入力と標準エラーが ('''[https://manpages.debian.org/bookworm/manpages-dev/isatty.3.en.html isatty]'''(3) によって決定される) 端末に接続されているシェル、または -i オプションで起動されるシェルのことである。 PS1が設定され、$-がiに含まれるのは、bashが対話型である場合であり、シェル・スクリプトやスタートアップ・ファイルがこの状態をテストできるようにするためである。 |
| A login shell is one whose first character of argument zero is a -, or one started with the --lo‐
| |
| gin option.
| |
|
| |
|
| An interactive shell is one started without non-option arguments (unless -s is specified) and
| | 以下の段落では、bashが起動ファイルをどのように実行するかを説明する。 ファイルが存在するが読み込めない場合、bashはエラーを報告する。 チルダは、後述の''[[#EXPANSION|EXPANSION]]''セクションの「チルダの展開」で説明するように、ファイル名で展開される。 |
| without the -c option whose standard input and error are both connected to terminals (as deter‐
| |
| mined by isatty(3)), or one started with the -i option. PS1 is set and $- includes i if bash is
| |
| interactive, allowing a shell script or a startup file to test this state.
| |
|
| |
|
| The following paragraphs describe how bash executes its startup files. If any of the files exist
| | bashが対話型ログイン・シェルとして、または-loginオプションを指定して非対話型シェルとして起動されると、まず[[/etc/profile]]ファイルが存在する場合は、そのファイルからコマンドを読み込んで実行する。 |
| but cannot be read, bash reports an error. Tildes are expanded in filenames as described below
| | このファイルを読み込んだ後、~/.bash_profile、~/.bash_login、~/.profileの順に探し、最初に存在し、読み取り可能なものからコマンドを読み取って実行する。 シェルの起動時に--noprofileオプションを使用すると、この動作を抑制することができる。 |
| under Tilde Expansion in the EXPANSION section.
| |
|
| |
|
| When bash is invoked as an interactive login shell, or as a non-interactive shell with the --lo‐
| | 対話型ログイン・シェルが終了するとき、または非対話型ログイン・シェルがexit組み込みコマンドを実行するとき、bashは~/.bash_logoutファイルが存在すればそこからコマンドを読み込んで実行する。 |
| gin option, it first reads and executes commands from the file /etc/profile, if that file exists.
| |
| After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that or‐
| |
| der, and reads and executes commands from the first one that exists and is readable. The --no‐
| |
| profile option may be used when the shell is started to inhibit this behavior.
| |
|
| |
|
| When an interactive login shell exits, or a non-interactive login shell executes the exit builtin
| | ログイン・シェルではない対話型シェルが起動されると、bashは[[/etc/bash.bashrc]]と~/.bashrcが存在する場合、これらのファイルからコマンドを読み込んで実行する。 これは--norcオプションを使うことで抑制できる。 rcfileファイル・オプションを指定すると、[[/etc/bash.bashrc]]や~/.bashrcではなく、ファイルからコマンドを読み込んで実行するようになる。 |
| command, bash reads and executes commands from the file ~/.bash_logout, if it exists.
| |
|
| |
|
| When an interactive shell that is not a login shell is started, bash reads and executes commands
| | シェル・スクリプトを実行する場合など、bashが非対話的に起動されると、環境変数BASH_ENVを探し、その値があれば展開し、展開された値を読み込んで実行するファイル名として使用する。 Bashは以下のコマンドが実行されたかのように振る舞う: |
| from /etc/bash.bashrc and ~/.bashrc, if these files exist. This may be inhibited by using the
| | :<code>if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi</code> |
| --norc option. The --rcfile file option will force bash to read and execute commands from file
| | とする。しかし、'''PATH'''変数の値はファイル名の検索には使われない。 |
| instead of /etc/bash.bashrc and ~/.bashrc.
| |
|
| |
|
| When bash is started non-interactively, to run a shell script, for example, it looks for the
| | bashがshという名前で起動された場合、POSIX標準にも準拠しながら、過去のバージョンのshの起動時の動作をできるだけ忠実に模倣しようとする。 対話型ログインシェルとして起動された場合、または--loginオプションを指定した非対話型シェルとして起動された場合、まず[[/etc/profile]]と~/.profileの順にコマンドを読み込んで実行しようとする。 noprofileオプションを使用すると、この動作を抑制することができる。 対話型シェルとしてshという名前で起動されると、bashは変数ENVを探し、その値が定義されていれば展開し、展開された値を読み込み実行するファイル名として使用する。 shとして起動されたシェルは、他の起動ファイルからコマンドを読み込んで実行しようとはしないので、--rcfileオプションは効果がない。 shという名前で起動された非対話型シェルは、他の起動ファイルを読み込もうとしない。 shとして起動された場合、bashはスタートアップ・ファイルを読み込んだ後にposixモードに入る。 |
| variable BASH_ENV in the environment, expands its value if it appears there, and uses the ex‐
| |
| panded value as the name of a file to read and execute. Bash behaves as if the following command
| |
| were executed:
| |
| if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
| |
| but the value of the PATH variable is not used to search for the filename.
| |
|
| |
|
| If bash is invoked with the name sh, it tries to mimic the startup behavior of historical ver‐
| | posix コマンドラインオプション --posix のように bash が posix モードで起動されると、スタートアップファイルの POSIX 標準に従う。 このモードでは、対話型シェルはENV変数を展開し、展開された値を名前とするファイルからコマンドが読み込まれ実行される。 他のスタートアップ・ファイルは読み込まれない。 |
| sions of sh as closely as possible, while conforming to the POSIX standard as well. When invoked
| |
| as an interactive login shell, or a non-interactive shell with the --login option, it first at‐
| |
| tempts to read and execute commands from /etc/profile and ~/.profile, in that order. The --no‐
| |
| profile option may be used to inhibit this behavior. When invoked as an interactive shell with
| |
| the name sh, bash looks for the variable ENV, expands its value if it is defined, and uses the
| |
| expanded value as the name of a file to read and execute. Since a shell invoked as sh does not
| |
| attempt to read and execute commands from any other startup files, the --rcfile option has no ef‐
| |
| fect. A non-interactive shell invoked with the name sh does not attempt to read any other
| |
| startup files. When invoked as sh, bash enters posix mode after the startup files are read.
| |
|
| |
|
| When bash is started in posix mode, as with the --posix command line option, it follows the POSIX
| | Bashは、リモートシェルデーモン(通常は[[usr/sbin/rshd|rshd]])またはセキュアシェルデーモン[[/usr/sbin/sshd|sshd]]によって実行されるときのように、標準入力がネットワーク接続に接続された状態で実行されているかどうかを判断しようとする。 bashがこの方法で実行されていると判断した場合、~/.bashrcと~/.bashrcが存在し、これらのファイルが読み取り可能であれば、これらのファイルからコマンドを読み取り、実行する。 shとして起動した場合は、このようなことはしない。 norcオプションを使用するとこの動作を抑制でき、--rcfileオプションを使用すると別のファイルを強制的に読み込むことができるが、rshdもsshdも通常、これらのオプションを指定してシェルを起動したり、オプションを指定したりすることはできない。 |
| standard for startup files. In this mode, interactive shells expand the ENV variable and com‐
| |
| mands are read and executed from the file whose name is the expanded value. No other startup
| |
| files are read.
| |
|
| |
|
| Bash attempts to determine when it is being run with its standard input connected to a network
| | 有効ユーザー(グループ)IDが実ユーザー(グループ)IDに等しくない状態でシェルが起動され、-pオプションが与えられない場合、起動ファイルは読み込まれず、シェル関数は環境から継承されず、SHELLOPTS、BASHOPTS、CDPATH、GLOBIGNORE変数が環境にある場合は無視され、有効ユーザーIDが実ユーザーIDに設定される。 起動時に-pオプションが指定された場合、起動時の動作は同じであるが、実効ユーザーIDはリセットされない。 |
| connection, as when executed by the remote shell daemon, usually rshd, or the secure shell daemon
| |
| sshd. If bash determines it is being run in this fashion, it reads and executes commands from
| |
| ~/.bashrc and ~/.bashrc, if these files exist and are readable. It will not do this if invoked
| |
| as sh. The --norc option may be used to inhibit this behavior, and the --rcfile option may be
| |
| used to force another file to be read, but neither rshd nor sshd generally invoke the shell with
| |
| those options or allow them to be specified.
| |
|
| |
|
| If the shell is started with the effective user (group) id not equal to the real user (group) id,
| | == DEFINITIONS == |
| and the -p option is not supplied, no startup files are read, shell functions are not inherited
| | 以下の定義は、本書の残りの部分で使用される。 |
| from the environment, the SHELLOPTS, BASHOPTS, CDPATH, and GLOBIGNORE variables, if they appear
| | ;blank |
| in the environment, are ignored, and the effective user id is set to the real user id. If the -p
| | :スペースあるいはタブ |
| option is supplied at invocation, the startup behavior is the same, but the effective user id is
| | ;word |
| not reset.
| | :シェルが1つの単位とみなす文字列。 トークンとも呼ばれる。 |
| | ;name |
| | :英数字とアンダースコアのみで構成され、英字またはアンダースコアで始まる単語。 識別子とも呼ばれる。 |
| | ;metacharacter |
| | :引用符で囲まれていない場合、単語を区切る文字。 以下のいずれか: |
| | :<code>| & ; ( ) < > space tab newline</code> |
| | ;control operator |
| | :制御機能を果たすトークン。 以下のシンボルのいずれかである: |
| | :<code>|| & && ; ;; ;& ;;& ( ) | |& <newline></code> |
|
| |
|
| DEFINITIONS
| | == RESERVED WORDS == |
| The following definitions are used throughout the rest of this document.
| | 予約語はシェルにとって特別な意味を持つ語である。 以下の単語は、引用符で囲まれておらず、コマンドの最初の単語(以下の [[#SHELL GRAMMAR|SHELL GRAMMAR ]] を参照)、case または select コマンドの 3 番目の単語(in のみ有効)、for コマンドの 3 番目の単語(in と do のみ有効)のいずれかに指定されている場合に予約語として認識される: |
| blank A space or tab.
| |
| word A sequence of characters considered as a single unit by the shell. Also known as a token.
| |
| name A word consisting only of alphanumeric characters and underscores, and beginning with an
| |
| alphabetic character or an underscore. Also referred to as an identifier.
| |
| metacharacter
| |
| A character that, when unquoted, separates words. One of the following:
| |
| | & ; ( ) < > space tab newline
| |
| control operator
| |
| A token that performs a control function. It is one of the following symbols:
| |
| || & && ; ;; ;& ;;& ( ) | |& <newline>
| |
|
| |
|
| RESERVED WORDS
| | <code>! case coproc do done elif else esac fi for function if in select then until while { } time [[ ]]</code> |
| Reserved words are words that have a special meaning to the shell. The following words are rec‐
| |
| ognized as reserved when unquoted and either the first word of a command (see SHELL GRAMMAR be‐
| |
| low), the third word of a case or select command (only in is valid), or the third word of a for
| |
| command (only in and do are valid):
| |
|
| |
|
| ! case coproc do done elif else esac fi for function if in select then until while { } time [[
| | == SHELL GRAMMAR == |
| ]]
| | ===Simple Commands=== |
| | 単純なコマンドは、空白で区切られた単語とリダイレクションが続き、制御演算子で終了する、オプションの変数代入のシーケンスである。 最初の単語は実行するコマンドを指定し、引数ゼロとして渡される。 残りの単語は、呼び出されたコマンドの引数として渡される。 |
|
| |
|
| SHELL GRAMMAR
| | 単純なコマンドの戻り値は、そのコマンドの終了ステータスであり、コマンドがシグナルnで終了する場合は128+nである。 |
| Simple Commands
| |
| A simple command is a sequence of optional variable assignments followed by blank-separated words
| |
| and redirections, and terminated by a control operator. The first word specifies the command to
| |
| be executed, and is passed as argument zero. The remaining words are passed as arguments to the
| |
| invoked command.
| |
|
| |
|
| The return value of a simple command is its exit status, or 128+n if the command is terminated by
| | ===Pipelines === |
| signal n.
| | パイプラインは、制御演算子|または|&で区切られた1つまたは複数のコマンドのシーケンスである。 パイプラインの書式は以下の通りである: |
|
| |
|
| Pipelines
| | :<code>[time [-p]] [ ! ] command [ [|⎪|&] command2 ... ]</code> |
| A pipeline is a sequence of one or more commands separated by one of the control operators | or
| |
| |&. The format for a pipeline is:
| |
|
| |
|
| [time [-p]] [ ! ] command [ [|⎪|&] command2 ... ]
| | commandの標準出力は、パイプを経由してcommand2の標準入力に接続される。 この接続は、コマンドで指定されたリダイレクション(後述の'''[[#REDIRECTION|REDIRECTION ]]'''を参照)の前に実行される。 |
| | もし|&が使われると、commandの標準出力に加えて、commandの標準エラーもパイプを通してcommand2の標準入力に接続される。 この標準エラーから標準出力への暗黙のリダイレクトは、コマンドによって指定されたリダイレクトの後に実行される。 |
|
| |
|
| The standard output of command is connected via a pipe to the standard input of command2. This
| | パイプラインの戻りステータスは、pipefailオプションが有効になっていない限り、最後のコマンドの終了ステータスになる。 pipefailが有効な場合、パイプラインの戻りステータスは、0以外のステータスで終了した最後の(右端の)コマンドの値、またはすべてのコマンドが正常に終了した場合は0になる。 |
| connection is performed before any redirections specified by the command (see REDIRECTION below).
| | パイプラインの前に予約語 ! がある場合、そのパイプラインの終了ステータスは、前述の終了ステータスの論理的否定となる。 シェルは、値を返す前にパイプラインのすべてのコマンドが終了するのを待つ。 |
| If |& is used, command's standard error, in addition to its standard output, is connected to com‐
| |
| mand2's standard input through the pipe; it is shorthand for 2>&1 |. This implicit redirection
| |
| of the standard error to the standard output is performed after any redirections specified by the
| |
| command.
| |
|
| |
|
| The return status of a pipeline is the exit status of the last command, unless the pipefail op‐
| | 時間予約語がパイプラインの前にある場合、パイプラインが終了すると、その実行によって消費されたユーザー時間とシステム時間だけでなく、経過時間も報告される。 pオプションは、出力フォーマットをPOSIXで指定されたものに変更する。 シェルがposixモードの場合、次のトークンが `-' で始まっていると、timeを予約語として認識しない。 TIMEFORMAT変数には、タイミング情報をどのように表示するかを指定する書式文字列を設定することができる。 |
| tion is enabled. If pipefail is enabled, the pipeline's return status is the value of the last
| |
| (rightmost) command to exit with a non-zero status, or zero if all commands exit successfully.
| |
| If the reserved word ! precedes a pipeline, the exit status of that pipeline is the logical
| |
| negation of the exit status as described above. The shell waits for all commands in the pipeline
| |
| to terminate before returning a value.
| |
|
| |
|
| If the time reserved word precedes a pipeline, the elapsed as well as user and system time con‐
| | シェルがposixモードの場合、timeの後に改行が続くことがある。 この場合、シェルはシェルとその子シェルが消費したユーザー時間とシステム時間の合計を表示する。 TIMEFORMAT 変数を使用して、時間情報の書式を指定することができる。 |
| sumed by its execution are reported when the pipeline terminates. The -p option changes the out‐
| |
| put format to that specified by POSIX. When the shell is in posix mode, it does not recognize
| |
| time as a reserved word if the next token begins with a `-'. The TIMEFORMAT variable may be set
| |
| to a format string that specifies how the timing information should be displayed; see the de‐
| |
| scription of TIMEFORMAT under Shell Variables below.
| |
|
| |
|
| When the shell is in posix mode, time may be followed by a newline. In this case, the shell dis‐
| | パイプラインの各コマンドは、別々のプロセスとして(つまりサブシェルで)実行される。 サブシェル環境の説明については、'''[[#COMMAND EXECUTION ENVIRONMENT|COMMAND EXECUTION ENVIRONMENT ]]'''を参照のこと。 shopt 組み込み関数を使用して lastpipe オプションを有効にすると (後述の shopt の説明を参照)、パイプラインの最後の要素をシェルプロセスで実行することができる。 |
| plays the total user and system time consumed by the shell and its children. The TIMEFORMAT
| |
| variable may be used to specify the format of the time information.
| |
|
| |
|
| Each command in a pipeline is executed as a separate process (i.e., in a subshell). See COMMAND
| | === Lists === |
| EXECUTION ENVIRONMENT for a description of a subshell environment. If the lastpipe option is en‐
| | リストは、1つ以上のパイプラインを<nowiki> ;, &, &&, ||</nowiki> のいずれかの演算子で区切り、オプションで <nowiki>;, &, <newline></nowiki> のいずれかで終了させるシーケンスである。 |
| abled using the shopt builtin (see the description of shopt below), the last element of a pipe‐
| |
| line may be run by the shell process.
| |
|
| |
|
| Lists
| | これらのリスト演算子のうち、<nowiki>&&</nowiki>と<nowiki>||</nowiki>は等しい優先順位を持ち、次いで ; と & が等しい優先順位を持つ。 |
| A list is a sequence of one or more pipelines separated by one of the operators ;, &, &&, or ||,
| |
| and optionally terminated by one of ;, &, or <newline>.
| |
|
| |
|
| Of these list operators, && and || have equal precedence, followed by ; and &, which have equal
| | コマンドを区切るセミコロンの代わりに、1つ以上の改行がリスト中に現れることもある。 |
| precedence.
| |
|
| |
|
| A sequence of one or more newlines may appear in a list instead of a semicolon to delimit com‐
| | コマンドが制御演算子&で終了する場合、シェルはサブシェルでバックグラウンドでコマンドを実行する。 シェルはコマンドの終了を待たず、リターン・ステータスは0になる。これらは非同期コマンドと呼ばれる。 で区切られたコマンドは順次実行され、シェルは各コマンドが順番に終了するのを待つ。 リターン・ステータスは、最後に実行されたコマンドの終了ステータスである。 |
| mands.
| |
|
| |
|
| If a command is terminated by the control operator &, the shell executes the command in the back‐
| | ANDリストとORリストは、それぞれ&&と ||制御演算子で区切られた1つ以上のパイプラインのシーケンスである。 ANDリストとORリストは左連想で実行される。 ANDリストは次のような形式を持つ。 |
| ground in a subshell. The shell does not wait for the command to finish, and the return status
| |
| is 0. These are referred to as asynchronous commands. Commands separated by a ; are executed
| |
| sequentially; the shell waits for each command to terminate in turn. The return status is the
| |
| exit status of the last command executed.
| |
|
| |
|
| AND and OR lists are sequences of one or more pipelines separated by the && and || control opera‐
| | :<code>command1 && command2</code> |
| tors, respectively. AND and OR lists are executed with left associativity. An AND list has the
| |
| form
| |
|
| |
|
| command1 && command2
| | command2が実行されるのは、command1が0(成功)の終了ステータスを返した場合のみである。 |
|
| |
|
| command2 is executed if, and only if, command1 returns an exit status of zero (success).
| | ORリストは次のような形をしている。 |
|
| |
|
| An OR list has the form
| | :<code>command1 || command2</code> |
|
| |
|
| command1 || command2
| | command2が実行されるのは、command1がゼロ以外の終了ステータスを返した場合のみである。 ANDリストとORリストの戻りステータスは、リスト内で最後に実行されたコマンドの終了ステータスである。 |
|
| |
|
| command2 is executed if, and only if, command1 returns a non-zero exit status. The return status
| | === Compound Commands === |
| of AND and OR lists is the exit status of the last command executed in the list.
| | 複合コマンドは以下のいずれかである。 ほとんどの場合、コマンドの説明のリストは、コマンドの残りの部分と1つ以上の改行で区切られ、セミコロンの代わりに改行が続くことがある。 |
|
| |
|
| Compound Commands
| | ;(list) |
| A compound command is one of the following. In most cases a list in a command's description may
| | :リストはサブシェル環境で実行される(後述の「[[#COMMAND EXECUTION ENVIRONMENT|COMMAND EXECUTION ENVIRONMENT ]]」を参照)。 |
| be separated from the rest of the command by one or more newlines, and may be followed by a new‐
| | シェルの環境に影響を与える変数割り当てや組み込みコマンドは、コマンドの完了後には有効にならない。 リターン・ステータスは list の終了ステータスである。 |
| line in place of a semicolon.
| |
|
| |
|
| (list) list is executed in a subshell environment (see COMMAND EXECUTION ENVIRONMENT below).
| | ;<nowiki>{ list; }</nowiki> |
| Variable assignments and builtin commands that affect the shell's environment do not re‐
| | :listは単に現在のシェル環境で実行される。listは改行またはセミコロンで終了しなければならない。 これはグループ・コマンドとして知られている。 戻りステータスは、listの終了ステータスである。 メタキャラクタ (and)とは異なり、<nowiki>{and}</nowiki>は予約語であり、予約語を認識することが許可されている場所に出現しなければならないことに注意すること。 これらは単語の区切りを引き起こさないので、空白または他のシェル・メタキャラクタでlistと区切らなければならない。 |
| main in effect after the command completes. The return status is the exit status of list.
| |
|
| |
|
| { list; }
| | ;((expression)) |
| list is simply executed in the current shell environment. list must be terminated with a
| | :式は、後述の「[[#ARITHMETIC EVALUATION|ARITHMETIC EVALUATION]]」のルールに従って評価される。 式の値が0でない場合、戻り値は0であり、そうでない場合、戻り値は1である。 |
| newline or semicolon. This is known as a group command. The return status is the exit
| |
| status of list. Note that unlike the metacharacters ( and ), { and } are reserved words
| |
| and must occur where a reserved word is permitted to be recognized. Since they do not
| |
| cause a word break, they must be separated from list by whitespace or another shell
| |
| metacharacter.
| |
|
| |
|
| ((expression))
| | ;<nowiki>[[ expression ]]</nowiki> |
| The expression is evaluated according to the rules described below under ARITHMETIC EVALU‐
| | :条件式の評価に応じて 0 または 1 のステータスを返す。 式は、後述の「[[#CONDITIONAL EXPRESSIONS|CONDITIONAL EXPRESSIONS]]」で説明するプライマリで構成される。 |
| ATION. If the value of the expression is non-zero, the return status is 0; otherwise the
| | <nowiki>[[ and ]]</nowiki>の間の単語では、単語分割とパス名展開は行われない。 |
| return status is 1. This is exactly equivalent to let "expression".
| | チルダ展開、パラメータ展開、変数展開、算術展開、コマンド置換、プロセス置換、引用符除去は行われる。 -fのような条件演算子は、プライマリとして認識されるためには、引用符で囲まれていな ければならない。 |
|
| |
|
| [[ expression ]]
| | :<nowiki>[[</nowiki>と一緒に使用すると、<nowiki>< and ></nowiki> 演算子は、現在のロケールを使用して辞書順にソートする。 |
| Return a status of 0 or 1 depending on the evaluation of the conditional expression ex‐
| |
| pression. Expressions are composed of the primaries described below under CONDITIONAL EX‐
| |
| PRESSIONS. Word splitting and pathname expansion are not performed on the words between
| |
| the [[ and ]]; tilde expansion, parameter and variable expansion, arithmetic expansion,
| |
| command substitution, process substitution, and quote removal are performed. Conditional
| |
| operators such as -f must be unquoted to be recognized as primaries.
| |
|
| |
|
| When used with [[, the < and > operators sort lexicographically using the current locale.
| | :パラメータの扱い(パラメータの欠落など)については、test組み込みコマンドの説明(後述の「[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]」セクション)を参照のこと。 |
|
| |
|
| See the description of the test builtin command (section SHELL BUILTIN COMMANDS below) for the
| | :演算子 <nowiki>==</nowiki> および <nowiki>!=</nowiki> が使用されると、演算子の右側の文字列はパターンとみなされ、 extglob シェル・オプションが有効であるかのように、後述の「パターン・マッチング」の規則に従ってマッチングされる。 nocasematchシェルオプションが有効な場合、アルファベットの大文字小文字を区別せずにマッチングが行われる。 |
| handling of parameters (i.e. missing parameters).
| | 戻り値は、文字列がパターンにマッチする<nowiki>(==)</nowiki>かマッチしない<nowiki>(!=)</nowiki>なら0、そうでなければ1である。 パターンの任意の部分を引用符で囲むと、引用符で囲んだ部分が文字列としてマッチする。 |
|
| |
|
| When the == and != operators are used, the string to the right of the operator is considered a
| | :さらに二項演算子<nowiki>=~</nowiki>が使用でき、優先順位は<nowiki>==</nowiki>や<nowiki>!=</nowiki>と同じである。 |
| pattern and matched according to the rules described below under Pattern Matching, as if the ext‐
| | :この演算子が使用されると、演算子の右側の文字列は POSIX 拡張正規表現とみなされ、 ('''[https://manpages.debian.org/bookworm/manpages-dev/regex.3.en.html regex]'''(3) で通常説明されている POSIX regcomp と regexec インターフェイスを使用して) それに従ってマッチングされる。 返り値は、文字列がパターンにマッチすれば 0、マッチしなければ 1 である。 正規表現が構文的に正しくない場合、条件式の戻り値は2である。 |
| glob shell option were enabled. The = operator is equivalent to ==. If the nocasematch shell
| | nocasematchシェルオプションが有効な場合、アルファベットの大文字小文字を区別せずにマッチが行われる。 パターンのどの部分も引用符で囲むことができ、引用符で囲んだ部分を文字列としてマッチさせることができる。 正規表現中の括弧表現は注意深く扱わなければならない。 なぜなら、通常のクォート文字は括弧の間で意味を失うからである。 パターンがシェル変数に格納されている場合、変数展開を引用符で囲むと、 パターン全体が文字列としてマッチするようになる。 |
| option is enabled, the match is performed without regard to the case of alphabetic characters.
| |
| The return value is 0 if the string matches (==) or does not match (!=) the pattern, and 1 other‐
| |
| wise. Any part of the pattern may be quoted to force the quoted portion to be matched as a
| |
| string.
| |
|
| |
|
| An additional binary operator, =~, is available, with the same precedence as == and !=. When it
| | :パターンは、文字列のどの部分にもマッチする。 正規表現演算子 ^ と $ を使ってパターンにアンカーを付けると、文字列全体にマッチするようになる。 配列変数'''BASH_REMATCH'''は、文字列のどの部分がパターンにマッチしたかを記録する。 インデックス0の'''BASH_REMATCH'''の要素には、正規表現全体にマッチした文字列の部分が含まれる。 正規表現内の括弧で囲まれた部分式でマッチした文字列は、残りの'''BASH_REMATCH'''のインデックスに保存される。インデックスnの'''BASH_REMATCH'''の要素は、n番目の括弧付き部分式にマッチする文字列の部分である。 |
| is used, the string to the right of the operator is considered a POSIX extended regular expres‐
| |
| sion and matched accordingly (using the POSIX regcomp and regexec interfaces usually described in
| |
| regex(3)). The return value is 0 if the string matches the pattern, and 1 otherwise. If the
| |
| regular expression is syntactically incorrect, the conditional expression's return value is 2.
| |
| If the nocasematch shell option is enabled, the match is performed without regard to the case of
| |
| alphabetic characters. Any part of the pattern may be quoted to force the quoted portion to be
| |
| matched as a string. Bracket expressions in regular expressions must be treated carefully, since
| |
| normal quoting characters lose their meanings between brackets. If the pattern is stored in a
| |
| shell variable, quoting the variable expansion forces the entire pattern to be matched as a
| |
| string.
| |
|
| |
|
| The pattern will match if it matches any part of the string. Anchor the pattern using the ^ and
| | 式は以下の演算子を使って結合することができる: |
| $ regular expression operators to force it to match the entire string. The array variable
| |
| BASH_REMATCH records which parts of the string matched the pattern. The element of BASH_REMATCH
| |
| with index 0 contains the portion of the string matching the entire regular expression. Sub‐
| |
| strings matched by parenthesized subexpressions within the regular expression are saved in the
| |
| remaining BASH_REMATCH indices. The element of BASH_REMATCH with index n is the portion of the
| |
| string matching the nth parenthesized subexpression.
| |
|
| |
|
| Expressions may be combined using the following operators, listed in decreasing order of prece‐
| | ;( expression ) |
| dence:
| | :式の値を返す。 これは、演算子の通常の優先順位を上書きするために使われる。 |
| | ;! expression |
| | :式が偽なら真。 |
| | ;expression1 && expression2 |
| | :expression1とexpression2の両方が真なら真。 |
| | ;expression1 || expression2 |
| | :expression1またはexpression2のどちらかが真なら真。 |
|
| |
|
| ( expression )
| | :expression1の値が条件式全体の戻り値を決定するのに十分である場合、&&と<nowiki>||</nowiki>演算子はexpression2を評価しない。 |
| Returns the value of expression. This may be used to override the normal prece‐
| |
| dence of operators.
| |
| ! expression
| |
| True if expression is false.
| |
| expression1 && expression2
| |
| True if both expression1 and expression2 are true.
| |
| expression1 || expression2
| |
| True if either expression1 or expression2 is true.
| |
|
| |
|
| The && and || operators do not evaluate expression2 if the value of expression1 is suffi‐
| | ;<nowiki>for name [ [ in [ word ... ] ] ; ] do list ; done</nowiki> |
| cient to determine the return value of the entire conditional expression.
| | :inに続く単語のリストが展開され、項目のリストが生成される。 変数名はこのリストの各要素に順番に設定され、その都度listが実行される。 inが省略された場合、forコマンドは設定された位置パラメーター(後述の[[#PARAMETERS|PARAMETERS ]]を参照)ごとにlistを1回実行する。 戻りステータスは、最後に実行されたコマンドの終了ステータスである。 inに続く項目の展開の結果、リストが空になった場合、コマンドは実行されず、リターン・ステータスは0となる。 |
|
| |
|
| for name [ [ in [ word ... ] ] ; ] do list ; done
| | ;for (( expr1 ; expr2 ; expr3 )) ; do list ; done |
| The list of words following in is expanded, generating a list of items. The variable name
| | :まず、算術式 expr1 は、後述の「[[#ARITHMETIC EVALUATION|ARITHMETIC EVALUATION]]」のルールに従って評価される。 |
| is set to each element of this list in turn, and list is executed each time. If the in
| | 算術式expr2は、ゼロになるまで繰り返し評価される。 expr2がゼロ以外の値に評価されるたびに、listが実行され、算術式expr3が評価される。 いずれかの式が省略された場合、その式は1に評価されるものとして動作する。 戻り値は、実行されたリストの最後のコマンドの終了ステータスであり、いずれかの式が無効な場合は偽である。 |
| word is omitted, the for command executes list once for each positional parameter that is
| |
| set (see PARAMETERS below). The return status is the exit status of the last command that
| |
| executes. If the expansion of the items following in results in an empty list, no com‐
| |
| mands are executed, and the return status is 0.
| |
|
| |
|
| for (( expr1 ; expr2 ; expr3 )) ; do list ; done
| | ;select name <nowiki>[ in word ]</nowiki> ; do list ; done |
| First, the arithmetic expression expr1 is evaluated according to the rules described below
| | :inに続く単語のリストが展開され、項目のリストが生成される。 展開された単語のセットは標準エラーに出力される。 inが省略された場合、位置パラメーターが表示される(後述の[[#PARAMETERS|PARAMETERS ]]を参照)。 次にPS3プロンプトが表示され、標準入力から1行が読み込まれる。 その行が、表示された単語の1つに対応する数字で構成されている場合、nameの値はその単語に設定される。 行が空の場合、単語とプロンプトが再度表示される。 EOFが読み込まれると、コマンドは完了する。 それ以外の値が読み込まれると、nameにはnullが設定される。 読み込まれた行は変数REPLYに保存される。 リストは、breakコマンドが実行されるまで、選択のたびに実行される。 selectの終了ステータスは、リスト内で最後に実行されたコマンドの終了ステータスであり、コマンドが実行されなかった場合は0である。 |
| under ARITHMETIC EVALUATION. The arithmetic expression expr2 is then evaluated repeatedly
| |
| until it evaluates to zero. Each time expr2 evaluates to a non-zero value, list is exe‐
| |
| cuted and the arithmetic expression expr3 is evaluated. If any expression is omitted, it
| |
| behaves as if it evaluates to 1. The return value is the exit status of the last command
| |
| in list that is executed, or false if any of the expressions is invalid.
| |
|
| |
|
| select name [ in word ] ; do list ; done
| | ;<nowiki>case word in [ [(] pattern [ | pattern ] ... ) list ;; ] ... esac</nowiki> |
| The list of words following in is expanded, generating a list of items. The set of ex‐
| | :caseコマンドはまず単語を展開し、後述のパターンマッチングで説明されているマッチングルールを使って、順番に各パターンとのマッチングを試みる。 単語は、チルダ展開、パラメータと変数の展開、算術展開、コマンド置換、プロセス置換、引用符除去を使って展開される。 検査される各パターンは、チルダ展開、パラメータ展開、変数展開、算術展開、コマンド置換、プロセス置換を使って展開される。 nocasematchシェル・オプションを有効にすると、アルファベットの大文字と小文字を区別せずにマッチが行われる。 マッチすると、対応するリストが実行される。 演算子;;が使われると、最初のパターンマッチの後、それ以降のマッチは試みられない。 の代わりに;&を使うと、次のパターン・セットに関連するリストが実行される。 の代わりに ;;& を使用すると、シェルは文中に次のパターンリストがあればそれをテストし、マッチした場合に関連するリストを実行する。 パターンにマッチしなければ、終了ステータスは0である。 それ以外の場合は、リスト内で最後に実行されたコマンドの終了ステータスとなる。 |
| panded words is printed on the standard error, each preceded by a number. If the in word
| |
| is omitted, the positional parameters are printed (see PARAMETERS below). The PS3 prompt
| |
| is then displayed and a line read from the standard input. If the line consists of a num‐
| |
| ber corresponding to one of the displayed words, then the value of name is set to that
| |
| word. If the line is empty, the words and prompt are displayed again. If EOF is read,
| |
| the command completes. Any other value read causes name to be set to null. The line read
| |
| is saved in the variable REPLY. The list is executed after each selection until a break
| |
| command is executed. The exit status of select is the exit status of the last command ex‐
| |
| ecuted in list, or zero if no commands were executed.
| |
|
| |
|
| case word in [ [(] pattern [ | pattern ] ... ) list ;; ] ... esac
| | ;<nowiki>if list; then list; [ elif list; then list; ] ... [ else list; ] fi</nowiki> |
| A case command first expands word, and tries to match it against each pattern in turn, us‐
| | :ifリストが実行される。 その終了ステータスがゼロであれば、thenリストが実行される。 そうでなければ、各elifリストが順番に実行され、その終了ステータスがゼロであれば、対応するthenリストが実行され、コマンドは完了する。 そうでない場合、elseリストがあればそれが実行される。 終了ステータスは、最後に実行されたコマンドの終了ステータスであり、どの条件も真をテストしなかった場合はゼロである。 |
| ing the matching rules described under Pattern Matching below. The word is expanded using
| |
| tilde expansion, parameter and variable expansion, arithmetic expansion, command substitu‐
| |
| tion, process substitution and quote removal. Each pattern examined is expanded using
| |
| tilde expansion, parameter and variable expansion, arithmetic expansion, command substitu‐
| |
| tion, and process substitution. If the nocasematch shell option is enabled, the match is
| |
| performed without regard to the case of alphabetic characters. When a match is found, the
| |
| corresponding list is executed. If the ;; operator is used, no subsequent matches are at‐
| |
| tempted after the first pattern match. Using ;& in place of ;; causes execution to con‐
| |
| tinue with the list associated with the next set of patterns. Using ;;& in place of ;;
| |
| causes the shell to test the next pattern list in the statement, if any, and execute any
| |
| associated list on a successful match, continuing the case statement execution as if the
| |
| pattern list had not matched. The exit status is zero if no pattern matches. Otherwise,
| |
| it is the exit status of the last command executed in list.
| |
|
| |
|
| if list; then list; [ elif list; then list; ] ... [ else list; ] fi
| | ;while list-1; do list-2; done |
| The if list is executed. If its exit status is zero, the then list is executed. Other‐
| | ;until list-1; do list-2; done |
| wise, each elif list is executed in turn, and if its exit status is zero, the correspond‐
| | :whileコマンドは、リストlist-1の最後のコマンドがゼロの終了ステータスを返す限り、リストlist-2を実行し続ける。 untilコマンドはwhileコマンドと同じであるが、テストが否定される点が異なる: list-1の最後のコマンドが0以外の終了ステータスを返す限り、list-2は実行される。 whileコマンドとuntilコマンドの終了ステータスは、リスト-2で最後に実行されたコマンドの終了ステータスであり、何も実行されなかった場合はゼロである。 |
| ing then list is executed and the command completes. Otherwise, the else list is exe‐
| |
| cuted, if present. The exit status is the exit status of the last command executed, or
| |
| zero if no condition tested true.
| |
|
| |
|
| while list-1; do list-2; done
| | === Coprocesses === |
| until list-1; do list-2; done
| | コプロセスは、coproc予約語を先頭に持つシェルコマンドである。 コプロセスは、コマンドを&制御演算子で終了させたかのように、サブシェル内で非同期に実行され、実行中のシェルとコプロセスの間に双方向パイプが確立される。 |
| The while command continuously executes the list list-2 as long as the last command in the
| |
| list list-1 returns an exit status of zero. The until command is identical to the while
| |
| command, except that the test is negated: list-2 is executed as long as the last command
| |
| in list-1 returns a non-zero exit status. The exit status of the while and until commands
| |
| is the exit status of the last command executed in list-2, or zero if none was executed.
| |
|
| |
|
| Coprocesses
| | コプロセスの書式は以下の通りである: |
| A coprocess is a shell command preceded by the coproc reserved word. A coprocess is executed
| |
| asynchronously in a subshell, as if the command had been terminated with the & control operator,
| |
| with a two-way pipe established between the executing shell and the coprocess.
| |
|
| |
|
| The format for a coprocess is:
| | :<nowiki>coproc [NAME] command [redirections]</nowiki> |
|
| |
|
| coproc [NAME] command [redirections]
| | これはNAMEという名前のコプロセスを作成する。 NAME が与えられない場合、デフォルトの名前は COPROC である。 NAME は、 command が単純コマンド(上記を参照のこと)の場合は与えてはならない。 コプロセスが実行されると、シェルは実行中のシェルのコンテキスト内に NAME という名前の配列変数(後述の「[[#Arrays|Arrays ]]」を参照)を作成する。 コマンドの標準出力は、実行シェルのファイル記述子にパイプで接続され、そのファイル記述子が<nowiki>NAME[0]</nowiki>に代入される。 コマンドの標準入力は、実行シェルのファイル記述子にパイプで接続され、そのファイル記述子が <nowiki>NAME[1]</nowiki>に割り当てられる。 このパイプは、コマンドで指定されたリダイレクション(後述の[[#REDIRECTION|REDIRECTION ]]を参照)の前に確立される。 |
| | ファイル記述子は、標準的な単語展開を使って、シェルコマンドやリダイレクションの引数として利用できる。 コマンドとプロセス置換を実行するために作成されたもの以外では、ファイル記述子はサブシェルでは利用できない。 コプロセスを実行するために生成されたシェルのプロセス ID は、変数 '''NAME_PID''' の値として利用できる。 wait 組み込みコマンドは、コプロセスの終了を待つために使用できる。 |
|
| |
|
| This creates a coprocess named NAME. If NAME is not supplied, the default name is COPROC. NAME
| | コプロセスは非同期コマンドとして作成されるため、coproc コマンドは常に成功を返す。 コプロセスの戻りステータスは、コマンドの終了ステータスである。 |
| must not be supplied if command is a simple command (see above); otherwise, it is interpreted as
| |
| the first word of the simple command. When the coprocess is executed, the shell creates an array
| |
| variable (see Arrays below) named NAME in the context of the executing shell. The standard out‐
| |
| put of command is connected via a pipe to a file descriptor in the executing shell, and that file
| |
| descriptor is assigned to NAME[0]. The standard input of command is connected via a pipe to a
| |
| file descriptor in the executing shell, and that file descriptor is assigned to NAME[1]. This
| |
| pipe is established before any redirections specified by the command (see REDIRECTION below).
| |
| The file descriptors can be utilized as arguments to shell commands and redirections using stan‐
| |
| dard word expansions. Other than those created to execute command and process substitutions, the
| |
| file descriptors are not available in subshells. The process ID of the shell spawned to execute
| |
| the coprocess is available as the value of the variable NAME_PID. The wait builtin command may
| |
| be used to wait for the coprocess to terminate.
| |
|
| |
|
| Since the coprocess is created as an asynchronous command, the coproc command always returns suc‐
| | === Shell Function Definitions === |
| cess. The return status of a coprocess is the exit status of command.
| | シェル関数は、単純なコマンドのように呼び出され、新しい位置パラメーターのセットを持つ複合コマンドを実行するオブジェクトである。 シェル関数は以下のように宣言される: |
|
| |
|
| Shell Function Definitions
| | ;<nowiki>fname () compound-command [redirection]</nowiki> |
| A shell function is an object that is called like a simple command and executes a compound com‐
| | ;<nowiki>function fname [()] compound-command [redirection]</nowiki> |
| mand with a new set of positional parameters. Shell functions are declared as follows:
| | :これはfnameという名前の関数を定義する。 予約語のfunctionは省略可能である。 関数の予約語を指定した場合、括弧は省略可能である。 関数の本体は複合コマンドcompound-commandである(上記の[[#Compound Commands|Compound Commands ]]を参照のこと)。 このコマンドは通常{と}の間のコマンドのリストであるが、1つの例外を除いて、上記の「複合コマンド」にリストされているコマンドであれば何でもよい: compound-commandは、fnameが単純コマンドの名前として指定されると、必ず実行される。 posixモードでは、fnameは有効なシェル名でなければならず、POSIX特殊組み込み関数の名前であってはならない。 デフォルトモードでは、関数名は$を含まない引用符で囲まれていないシェル語であれば何でもよい。 関数定義時に指定されたリダイレクション(後述の[[#REDIRECTION|REDIRECTION ]]を参照)は、関数実行時に実行される。 構文エラーが発生するか、同じ名前の読み取り専用関数が既に存在しない限り、関数定義の終了ステータスは0である。 実行されると、関数の終了ステータスは、ボディ内で最後に実行されたコマンドの終了ステータスになる。 (後述の[[#FUNCTIONS|FUNCTIONS ]]を参照のこと)。 |
|
| |
|
| fname () compound-command [redirection]
| | == COMMENTS == |
| function fname [()] compound-command [redirection]
| | 非対話型シェル、または shopt 組み込みコマンドの interactive_comments オプションが有効になっている対話型シェル(後述の「[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]」を参照)では、# で始まる単語は、その単語とその行の残りのすべての文字を無視する。 interactive_comments オプションを有効にしていない対話型シェルでは、コメントは許可されない。 対話型シェルでは、interactive_commentsオプションはデフォルトでオンになっている。 |
| This defines a function named fname. The reserved word function is optional. If the
| |
| function reserved word is supplied, the parentheses are optional. The body of the func‐
| |
| tion is the compound command compound-command (see Compound Commands above). That command
| |
| is usually a list of commands between { and }, but may be any command listed under Com‐
| |
| pound Commands above, with one exception: If the function reserved word is used, but the
| |
| parentheses are not supplied, the braces are required. compound-command is executed when‐
| |
| ever fname is specified as the name of a simple command. When in posix mode, fname must
| |
| be a valid shell name and may not be the name of one of the POSIX special builtins. In
| |
| default mode, a function name can be any unquoted shell word that does not contain $. Any
| |
| redirections (see REDIRECTION below) specified when a function is defined are performed
| |
| when the function is executed. The exit status of a function definition is zero unless a
| |
| syntax error occurs or a readonly function with the same name already exists. When exe‐
| |
| cuted, the exit status of a function is the exit status of the last command executed in
| |
| the body. (See FUNCTIONS below.)
| |
|
| |
|
| COMMENTS
| | == QUOTING == |
| In a non-interactive shell, or an interactive shell in which the interactive_comments option to
| | クオートは、シェルに対して特定の文字や単語の特別な意味を取り除くために使用される。 引用符で囲むことで、特殊文字に対する特別な扱いを無効にしたり、予約語をそのようなものとして認識させないようにしたり、パラメータの展開を防止したりすることができる。 |
| the shopt builtin is enabled (see SHELL BUILTIN COMMANDS below), a word beginning with # causes
| |
| that word and all remaining characters on that line to be ignored. An interactive shell without
| |
| the interactive_comments option enabled does not allow comments. The interactive_comments option
| |
| is on by default in interactive shells.
| |
|
| |
|
| QUOTING
| | 上記の[[#DEFINITIONS|DEFINITIONS]]に列挙されているメタキャラクタは、シェルにとって特別な意味を持ち、それ自身を表す場合にはクォートしなければならない。 |
| Quoting is used to remove the special meaning of certain characters or words to the shell. Quot‐
| |
| ing can be used to disable special treatment for special characters, to prevent reserved words
| |
| from being recognized as such, and to prevent parameter expansion.
| |
|
| |
|
| Each of the metacharacters listed above under DEFINITIONS has special meaning to the shell and
| | コマンドのヒストリ展開機能を使用する場合(下記の「[[#HISTORY EXPANSION|HISTORY EXPANSION ]]」を参照)、ヒストリ展開を防ぐために、ヒストリ展開文字(通常は「!」)を引用符で囲む必要がある。 |
| must be quoted if it is to represent itself.
| |
|
| |
|
| When the command history expansion facilities are being used (see HISTORY EXPANSION below), the
| | エスケープ文字、一重引用符、二重引用符である。 |
| history expansion character, usually !, must be quoted to prevent history expansion.
| |
|
| |
|
| There are three quoting mechanisms: the escape character, single quotes, and double quotes.
| | 引用符で囲まないバックスラッシュ( \ )はエスケープ文字である。 これは、<改行>を除き、次に続く文字のリテラル値を保持する。 <newline>のペアが現れ、バックスラッシュ自体が引用符で囲まれていない場合、その<newline>は行の続きとして扱われる(つまり、入力ストリームから取り除かれ、事実上無視される)。 |
|
| |
|
| A non-quoted backslash (\) is the escape character. It preserves the literal value of the next
| | 文字を一重引用符で囲むと、引用符内の各文字のリテラル値が保持される。 バックスラッシュが先行する場合でも、一重引用符の間に一重引用符を置くことはできない。 |
| character that follows, with the exception of <newline>. If a \<newline> pair appears, and the
| |
| backslash is not itself quoted, the \<newline> is treated as a line continuation (that is, it is
| |
| removed from the input stream and effectively ignored).
| |
|
| |
|
| Enclosing characters in single quotes preserves the literal value of each character within the
| | 二重引用符で文字を囲むと、引用符内のすべての文字のリテラル値が保持されるが、$、`、 \、およびヒストリ展開が有効な場合は! シェルがposixモードの場合、! はヒストリ展開が有効になっていても、二重引用符の中では特別な意味を持たない。 文字$と`は、二重引用符内でも特別な意味を持つ。 バックスラッシュは、$、`、", \、<改行> のいずれかの文字が続く場合のみ特別な意味を持つ。 二重引用符の前にバックスラッシュを付けると、二重引用符の中で引用符を付けることができる。 有効にすると、二重引用符の中に現れた ! がバックスラッシュでエスケープされない限り、履歴展開が実行される。 の前のバックスラッシュは削除されない。 |
| quotes. A single quote may not occur between single quotes, even when preceded by a backslash.
| |
|
| |
|
| Enclosing characters in double quotes preserves the literal value of all characters within the
| | 特別なパラメータである*と@は、二重引用符で囲むと特別な意味を持つ(下記の[[#PARAMETERS|PARAMETERS ]]を参照)。 |
| quotes, with the exception of $, `, \, and, when history expansion is enabled, !. When the shell
| |
| is in posix mode, the ! has no special meaning within double quotes, even when history expansion
| |
| is enabled. The characters $ and ` retain their special meaning within double quotes. The back‐
| |
| slash retains its special meaning only when followed by one of the following characters: $, `, ",
| |
| \, or <newline>. A double quote may be quoted within double quotes by preceding it with a back‐
| |
| slash. If enabled, history expansion will be performed unless an ! appearing in double quotes
| |
| is escaped using a backslash. The backslash preceding the ! is not removed.
| |
|
| |
|
| The special parameters * and @ have special meaning when in double quotes (see PARAMETERS below).
| | $'string'という形式の単語は特別に扱われる。 この単語は文字列に展開され、バックスラッシュでエスケープされた文字が ANSI C標準の指定に従って置き換えられる。 バックスラッシュ・エスケープ・シーケンスが存在する場合は、以下のようにデコードされる: |
| | :\a alert (bell) |
| | :\b backspace |
| | :\e |
| | :\E an escape character |
| | :\f form feed |
| | :\n new line |
| | :\r carriage return |
| | :\t horizontal tab |
| | :\v vertical tab |
| | :\\ backslash |
| | :\' single quote |
| | :\" double quote |
| | :\? question mark |
| | :\nnn 8ビットの文字で、その値は8進数nnn(1桁から3桁の8進数)である。 |
| | :\xHH 値が16進数HH(1桁または2桁の16進数)である8ビット文字 |
| | :\uHHHH Unicode(ISO/IEC 10646)文字で、その値は16進数値HHHHである。 (1桁から4桁の16進数) |
| | :\UHHHHHHHH |
| | ::ユニコード(ISO/IEC 10646)文字で、その値は16進数値HHHHHHHHHHである。 (1桁から8桁の16進数) |
| | :\cx a control-x character |
|
| |
|
| Words of the form $'string' are treated specially. The word expands to string, with backslash-
| | 展開された結果は、ドル記号がなかったかのように、単一引用符でくくられる。 |
| escaped characters replaced as specified by the ANSI C standard. Backslash escape sequences, if
| | |
| present, are decoded as follows:
| | 二重引用符で囲まれた文字列の前にドル記号 ($"string") を置くと、その文字列は現在のロケールに従って翻訳される。 gettextインフラストラクチャは、'''LC_MESSAGES'''と'''TEXTDOMAIN'''シェル変数を使用して、メッセージカタログの検索と翻訳を実行する。 現在のロケールがCまたはPOSIXの場合、または利用可能な翻訳がない場合、ドル記号は無視される。 文字列が翻訳され置換される場合、置換は二重引用符で囲まれる。 |
| \a alert (bell)
| | |
| \b backspace
| | == PARAMETERS == |
| \e
| | パラメータは値を格納するエンティティである。 名前、数字、または以下の「特別なパラメータ」に列挙されている特別な文字のいずれかになる。 変数は、名前で示されるパラメータである。変数は値と0個以上の属性を持つ。 属性は、declare組み込みコマンドを使用して割り当てられる(後述の「[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]」のdeclareを参照)。 |
| \E an escape character
| | |
| \f form feed
| | パラメータには値が設定される。 NULL文字列は有効な値である。 一度設定された変数は、unset 組み込みコマンド(後述の [[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]を参照)を使用することによってのみ設定解除することができる。 |
| \n new line
| | |
| \r carriage return
| | 変数は、次のようなステートメントで代入することができる。 |
| \t horizontal tab
| | |
| \v vertical tab
| | <code>name=[value]</code> |
| \\ backslash
| | |
| \' single quote
| | valueが与えられない場合、変数にはヌル文字列が代入される。 すべての値は、チルダ展開、パラメータ展開、変数展開、コマンド置換、算術展開、引用符除去を受ける(下記の[[#EXPANSION|EXPANSION ]]を参照)。 変数に整数属性が設定されている場合、''$((...))''展開が使用されなくても、値は算術式として評価される(下記の算術式展開を参照)。 単語の分割は、後述の「特殊パラメータ」で説明する"$@"を除いて行われない。 パス名展開は行われない。 代入文は、alias、declare、typeset、export、readonly、local組み込みコマンド(宣言コマンド)の引数としても使用できる。 posix モードの場合、これらの組み込み関数は、コマンド組み込み関数の 1 つまたは複数のインスタンスの後にコマンド内に出現し、これらの代入文のプロパティを保持することができる。 |
| \" double quote
| | |
| \? question mark
| | 代入文がシェル変数または配列インデックスに値を代入する場合、+= 演算子を使用して変数の前の値に追加または加算することができる。 これには、代入文を受け付けるdeclareなどの組み込みコマンド(宣言コマンド)の引数も含まれる。 整数属性が設定されている変数に+=を適用すると、値は算術式として評価され、変数の現在値に加算される。 複合代入を使用して配列変数に+=を適用すると(後述の「配列」を参照)、変数の値は(=を使用したときのように)設定解除されず、新しい値が配列の最大添字(添字付き配列の場合)より1つ大きい添字から始まる配列に追加されるか、連想配列のキーと値のペアとして追加される。 文字列値の変数に適用すると、valueが展開され、変数の値に追加される。 |
| \nnn the eight-bit character whose value is the octal value nnn (one to three octal dig‐
| |
| its)
| |
| \xHH the eight-bit character whose value is the hexadecimal value HH (one or two hex
| |
| digits)
| |
| \uHHHH the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value HHHH
| |
| (one to four hex digits)
| |
| \UHHHHHHHH
| |
| the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value HHHHHHHH
| |
| (one to eight hex digits)
| |
| \cx a control-x character
| |
|
| |
|
| The expanded result is single-quoted, as if the dollar sign had not been present.
| | declareまたはlocal組み込みコマンド(以下のdeclareとlocalの説明を参照)の-nオプションを使って変数にnameref属性を割り当てると、nameref、つまり別の変数への参照を作成することができる。 これにより、変数を間接的に操作することができる。 nameref変数の参照、代入、解除、属性の変更(nameref属性そのものの使用や変更を除く)は常に、nameref変数の値で指定された変数に対して実行される。 namerefはシェル関数の中で、関数の引数として渡される変数名を参照するためによく使われる。 例えば、シェル関数の最初の引数として変数名が渡された場合、関数内で declare -n ref=$1 を実行すると、最初の引数として渡された変数名を値とする nameref 変数 ref が作成される。 refへの参照や代入、属性の変更は、$1として渡された変数名への参照や代入、属性の変更として扱われる。 |
| | forループの制御変数がnameref属性を持つ場合、単語のリストはシェル変数のリストとすることができ、ループが実行されると、リスト内の各単語に対して順番に名前参照が確立される。 配列変数にnameref属性を与えることはできない。 しかし、nameref 変数は配列変数や添え字付き配列変数を参照できる。 nameref は、unset 組み込み関数の -n オプションを使ってアンセットできる。 そうでない場合、nameref 変数の名前を引数として unset を実行すると、 nameref 変数によって参照される変数がアンセットされる。 |
|
| |
|
| A double-quoted string preceded by a dollar sign ($"string") will cause the string to be trans‐
| | === Positional Parameters === |
| lated according to the current locale. The gettext infrastructure performs the message catalog
| | 位置パラメーターは、1桁の0以外の1桁以上の数字で示されるパラメーターである。 位置パラメーターは、シェルが起動されたときに、シェルの引数から代入される。 位置パラメーターは、代入文では代入できない。 位置パラメーターは、シェル関数が実行されるときに一時的に置き換えられる(後述の [[#FUNCTIONS|FUNCTIONS ]]を参照)。 |
| lookup and translation, using the LC_MESSAGES and TEXTDOMAIN shell variables. If the current lo‐
| |
| cale is C or POSIX, or if there are no translations available, the dollar sign is ignored. If
| |
| the string is translated and replaced, the replacement is double-quoted.
| |
|
| |
|
| PARAMETERS
| | 1桁以上で構成される位置パラメーターを展開する場合は、中括弧で囲む必要がある(後述の[[#EXPANSION|EXPANSION ]]を参照)。 |
| A parameter is an entity that stores values. It can be a name, a number, or one of the special
| |
| characters listed below under Special Parameters. A variable is a parameter denoted by a name.
| |
| A variable has a value and zero or more attributes. Attributes are assigned using the declare
| |
| builtin command (see declare below in SHELL BUILTIN COMMANDS).
| |
|
| |
|
| A parameter is set if it has been assigned a value. The null string is a valid value. Once a
| | === Special Parameters === |
| variable is set, it may be unset only by using the unset builtin command (see SHELL BUILTIN COM‐
| | シェルはいくつかのパラメータを特別に扱う。 これらのパラメータは参照のみ可能で、代入はできない。 |
| MANDS below).
| | ;* |
| | :1 から始まる位置パラメーターに展開する。 展開が二重引用符で囲まれていない場合、各位置パラメーターは別々の単語に展開される。 それが実行されるコンテキストでは、それらの単語はさらに単語分割とパス名展開の対象となる。展開が二重引用符で囲まれている場合は、各パラメータの値がIFS特殊変数の最初の文字で区切られた1つの単語に展開される。 つまり、"$*"は"$1c$2c... "と等価であり、cはIFS変数の値の最初の文字である。 IFSが未設定の場合、パラメータは空白で区切られる。 IFSがNULLの場合、パラメータは区切り文字なしで結合される。 |
| | ;@ |
| | :1 から始まる位置パラメーターに展開される。 単語分割が行われるコンテキストでは、各位置パラメーターを別々の単語に展開する。 単語分割が行われないコンテキストでは、各位置パラメーターをスペースで区切った 単語に展開する。 展開が二重引用符で囲まれている場合、各パラメーターは別々の単語に展開される。 つまり、"$@"は"$1" "$2"...と等価である。 二重引用符による展開が単語内で起こる場合、最初のパラメータの展開は元の単語の先頭部分と結合され、最後のパラメータの展開は元の単語の最後の部分と結合される。 位置パラメーターがない場合、"$@"と"$@"は何も展開されない(つまり削除される)。 |
| | ;# |
| | :位置パラメーターの数を10進数で表す。 |
| | ;? |
| | :最後に実行されたフォアグラウンド・パイプラインの終了ステータスに展開される。 |
| | ;- |
| | :set 組み込みコマンド、またはシェル自身が設定したオプションフラグ(-i オプションなど)に展開される。 |
| | ;$ |
| | :シェルのプロセス ID に展開する。 () サブシェルでは、サブシェルではなく現在のシェルのプロセス ID に展開される。 |
| | ;! |
| | :非同期コマンドとして実行されたか、bg組み込み関数(以下のJOB制御を参照)を使用して実行されたかにかかわらず、直近にバックグラウンドに配置されたジョブのプロセスIDに展開される。 |
| | ;0 |
| | :シェルまたはシェルスクリプトの名前に展開される。 これはシェル初期化時に設定される。コマンドファイルを指定してbashを起動すると、$0にそのファイル名が設定される。 bashが-cオプション付きで起動された場合、$0は、実行する文字列があれば、その文字列の後の最初の引数に設定される。 そうでない場合は、引数0で指定された、bashの起動に使用されたファイル名が設定される。 |
|
| |
|
| A variable may be assigned to by a statement of the form
| | === Shell Variables === |
| | 以下の変数はシェルによって設定される: |
|
| |
|
| name=[value]
| | ;_ |
| | :シェル起動時に、環境または引数リストで渡された、実行中のシェルまたはシェルスクリプトを呼び出すために使用されるパス名に設定される。 その後、フォアグラウンドで実行される直前の単純なコマンドの lastargument に展開される。 Alsosetは、実行される各コマンドの起動に使われるフルパス名に設定され、 そのコマンドにエクスポートされる環境に置かれる。 メールをチェックする場合、このパラメーターは現在チェックされているメールファイルの名前を保持する。 |
| | ;BASH |
| | :このbashのインスタンスを起動するのに使われた完全なファイル名に展開される。 |
| | ;BASHOPTS |
| | :有効なシェルオプションのコロン区切りリスト。 リストの各単語は、shopt 組み込みコマンドの -s オプションの有効な引数である (下記の [[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]を参照のこと)。'''BASHOPTS'''に表示されるオプションは、shoptが有効であると報告したものである。 bashの起動時にこの変数が環境にあると、起動ファイルを読み込む前にリストの各シェルオプションが有効になる。 この変数は読み取り専用である。 |
| | ;BASHPID |
| | :現在のbashプロセスのプロセスIDに展開する。 これは、bashの再初期化を必要としないサブシェルなど、特定の状況下では$$とは異なる。 '''BASHPID'''への代入は影響しない。 '''BASHPID'''が未設定の場合、その後にリセットされても、特別なプロパティは失われる。 |
| | ;BASH_ALIASES |
| | :エイリアス組み込み関数が保持するエイリアスの内部リストに対応する連想配列変数。 この配列に追加された要素はエイリアスリストに表示されるが、 現在のところ、配列の要素を設定解除してもエイリアスはエイリアスリストから 削除されない。 '''BASH_ALIASES'''がアンセットされると、その後リセットされてもその特別なプロパティは失われる。 |
| | ;BASH_ARGC |
| | :現在のbash実行コールスタックの各フレームのパラメータ数を値とする配列変数。 現在のサブルーチン(.またはsourceで実行されるシェル関数またはスクリプト)のパラメータ数は、スタックの一番上にある。 サブルーチンが実行されると、渡されたパラメータの数が'''BASH_ARGC'''にプッシュされる。 シェルが'''BASH_ARGC'''を設定するのは、拡張デバッグモードのときだけである(以下のshoptビルトインのextdebugオプションの説明を参照)。 シェルがスクリプトの実行を開始した後にextdebugを設定したり、extdebugが設定されていないときにこの変数を参照したりすると、値に矛盾が生じる可能性がある。 |
| | ;BASH_ARGV |
| | :現在のbash実行呼び出しスタックのすべてのパラメータを含む配列変数。 最後のサブルーチン呼び出しの最後のパラメータがスタックの一番上にあり、最初の呼び出しの最初のパラメータが一番下にある。 サブルーチンが実行されると、与えられたパラメータが'''BASH_ARGV'''にプッシュされる。 シェルが'''BASH_ARGV'''を設定するのは、拡張デバッグモードのときだけである(下記のshopt組み込み関数へのextdebugオプションの説明を参照のこと)。 シェルがスクリプトの実行を開始した後にextdebugを設定したり、extdebugが設定されていないときにこの変数を参照したりすると、値に矛盾が生じる可能性がある。 |
| | ;BASH_ARGV0 |
| | :参照されると、この変数はシェルまたはシェルスクリプトの名前に展開される($0と同じ。上記の特別なパラメータ0の説明を参照)。 '''BASH_ARGV0'''に代入すると、代入された値は$0にも代入される。 '''BASH_ARGV0'''が設定されていない場合、その後にリセットされても、特別な性質は失われる。 |
| | ;BASH_CMDS |
| | :ハッシュ組み込み関数が保持するコマンドの内部ハッシュテーブルに対応するメンバを持つ連想配列変数。 この配列に追加された要素はハッシュテーブルに表示されるが、現在のところ、配列要素の設定を解除してもハッシュテーブルからコマンド名が削除されることはない。 '''BASH_CMDS'''がアンセットされると、その後リセットされても、その特別な特性は失われる。 |
| | ;BASH_COMMAND |
| | :シェルがトラップの結果としてコマンドを実行している場合を除き、現在実行中または実行しようとしているコマンドである。 '''BASH_COMMAND'''が設定されていない場合、その後にリセットされても、特別なプロパティは失われる。 |
| | ;BASH_EXECUTION_STRING |
| | :-c起動オプションのコマンド引数。 |
| | ;BASH_LINENO |
| | :'''FUNCNAME'''の各メンバが呼び出されたソースファイルの行番号をメンバとする配列変数。 <nowiki>${BASH_LINENO[$i]}</nowiki>は<nowiki>${FUNCNAME[$i]}</nowiki>が呼び出されたソースファイルの行番号<nowiki>(${BASH_SOURCE[$i+1]})</nowiki>である(他のシェル関数内で参照された場合は<nowiki>${BASH_LINENO[$i-1]})</nowiki>。 現在の行番号を得るには'''LINENO'''を使う。 |
| | ;BASH_LOADABLES_PATH |
| | :enableコマンドで指定された動的にロード可能なビルトインをシェルが探すディレクトリのコロン区切りのリスト。 |
| | ;BASH_REMATCH |
| | :二項演算子=~によって<nowiki>[[</nowiki> 条件コマンドにメンバが代入される配列変数。 インデックス0の要素は、正規表現全体にマッチする文字列の部分である。 インデックスnの要素は、n番目の括弧で囲まれた部分式にマッチする文字列の部分である。 |
| | ;BASH_SOURCE |
| | :配列変数'''FUNCNAME'''の対応するシェル関数名が定義されているソースファイル名をメンバとする配列変数である。 シェル関数<nowiki>${FUNCNAME[$i]}</nowiki>はファイル<nowiki>${BASH_SOURCE[$i]}</nowiki>で定義され、<nowiki>${BASH_SOURCE[$i+1]}</nowiki>から呼び出される。 |
| | ;BASH_SUBSHELL |
| | :シェルがその環境で実行を開始すると、各サブシェルまたはサブシェル環境内で1ずつ増加する。 初期値は0である。'''BASH_SUBSHELL'''が設定されていない場合、その後にリセットされても、特別なプロパティは失われる。 |
| | ;BASH_VERSINFO |
| | :読み取り専用の配列変数で、bashのバージョン情報を保持する。 配列のメンバに割り当てられる値は以下のとおりである: |
| | ;;<nowiki>BASH_VERSINFO[0]</nowiki> |
| | ::The major version number (the release). |
| | ;;<nowiki>BASH_VERSINFO[1]</nowiki> |
| | :The minor version number (the version). |
| | ;;<nowiki>BASH_VERSINFO[2]</nowiki> |
| | ::The patch level. |
| | ;;<nowiki>BASH_VERSINFO[3]</nowiki> |
| | ::The build version. |
| | ;;<nowiki>BASH_VERSINFO[4]</nowiki> |
| | ::The release status (e.g., beta1). |
| | ;;<nowiki>BASH_VERSINFO[5]</nowiki> |
| | ::The value of '''MACHTYPE'''. |
| | ;BASH_VERSION |
| | :bashのインスタンスのバージョンを表す文字列に展開される。 |
| | ;COMP_CWORD |
| | :現在のカーソル位置を含む単語の<nowiki>${COMP_WORDS}</nowiki>へのインデックス。 この変数は、プログラマブル補完機能によって呼び出されるシェル関数でのみ使用可能である(下記の[[#Programmable Completion|Programmable Completion ]]を参照のこと)。 |
| | ;COMP_KEY |
| | :現在の補完機能を呼び出すために使用されるキー(またはキーシーケンスの最後のキー)。 |
| | ;COMP_LINE |
| | :現在のコマンドライン。 この変数は、シェル関数とプログラム可能な補完機能によって呼び出される外部コマンドでのみ利用可能である(後述の[[#Programmable Completion|Programmable Completion ]]を参照)。 |
| | ;COMP_POINT |
| | :現在のコマンドの先頭からの相対的な現在のカーソル位置のインデックス。現在のカーソル位置が現在のコマンドの終端にある場合、この変数の値は <nowiki>${#COMP_LINE}</nowiki>に等しい。 この変数は、シェル関数と、プログラム可能な補完機能によって呼び出される外部コマンドでのみ利用可能である(後述の[[#Programmable Completion|Programmable Completion ]]を参照のこと)。 |
| | ;COMP_TYPE |
| | :補完関数が呼ばれる原因となった補完のタイプに対応する整数値を設定する: TABは通常の補完、? は連続したタブの後の補完のリスト、! は部分的な単語補完の選択肢のリスト、@ は単語が未修正の場合の補完のリスト、% はメニュー補完のリストである。 この変数は、シェル関数とプログラム可能な補完機能によって呼び出される外部コマンドでのみ使用できる(後述の[[#Programmable Completion|Programmable Completion ]]を参照)。 |
| | ;COMP_WORDBREAKS |
| | :readlineライブラリが単語補完を行う際に単語区切り文字として扱う文字の集合。 '''COMP_WORDBREAKS'''が未設定の場合、その後リセットされても、その特別な特性は失われる。 |
| | ;COMP_WORDS |
| | :現在のコマンドラインの各単語からなる配列変数(下記の配列を参照)。 行は、前述の'''COMP_WORD-BREAKS'''を使用して、readlineが分割するように単語に分割される。 この変数は、プログラム可能な補完機能によって呼び出されるシェル関数でのみ使用可能である(後述の[[#Programmable Completion|Programmable Completion ]]を参照)。 |
| | ;COPROC |
| | :無名コプロセス(上記の「コプロセス」を参照)からの出力と無名コプロセスへの入力のファイル記述子を保持するために作成される配列変数(下記の[[#Coprocesses|Coprocesses ]]を参照)。 |
| | ;DIRSTACK |
| | :ディレクトリスタックの現在の内容を格納する配列変数 (下記の「配列」を参照)。 ディレクトリは、dirs 組み込み関数によって表示された順序でスタックに格納される。 この配列変数のメンバに代入することで、スタックに既にあるディレクトリを変更することができるが、ディレクトリの追加と削除には、pushd 組み込み関数と popd 組み込み関数を使用しなければならない。 この変数への代入は、カレント・ディレクトリを変更しない。 '''DIRSTACK''' がアンセットされると、その後にリセットされても、その特別な特性は失われる。 |
| | ;EPOCHREALTIME |
| | :このパラメータが参照されるたびに、Unixエポック('''[https://manpages.debian.org/bookworm/gawk/time.3am.en.html time]'''(3)を参照)からの秒数がマイクロ秒単位の浮動小数点値として展開される。 '''EPOCHREALTIME'''への代入は無視される。 '''EPOCHREALTIME'''が設定されていない場合、その後にリセットされても、その特別な特性は失われる。 |
| | ;EPOCHSECONDS |
| | :このパラメータが参照されるたびに、Unix エポック ('''[https://manpages.debian.org/bookworm/gawk/time.3am.en.html time]'''(3) 参照) からの秒数に展開される。 '''EPOCHSECONDS''' への代入は無視される。 '''EPOCHSECONDS'''が設定されていない場合、その後にリセットされても、その特別な特性は失われる。 |
| | ;EUID |
| | :シェル起動時に初期化される、現在のユーザーの実効ユーザーIDに展開される。 この変数は読み取り専用である。 |
| | ;FUNCNAME |
| | :現在実行コールスタックにあるすべてのシェル関数の名前を含む配列変数。 インデックス0の要素は、現在実行中のシェル関数の名前である。 一番下の要素(インデックスが一番大きい要素)は "main"である。 この変数は、シェル関数が実行されているときだけ存在する。 '''FUNCNAME'''に代入しても何の効果もない。'''FUNCNAME'''が設定されていない場合、その後にリセットされても、特別な特性は失われる。 |
|
| |
|
| If value is not given, the variable is assigned the null string. All values undergo tilde expan‐
| | :この変数は'''BASH_LINENO'''と'''BASH_SOURCE'''と一緒に使うことができる。 '''FUNCNAME'''の各要素は'''BASH_LINENO'''とBASH_SOURCEに対応する要素を持ち、コールスタックを記述する。 例えば、<nowiki>${FUNCNAME[$i]}はファイル${BASH_SOURCE[$i+1]}</nowiki>から行番号<nowiki>${BASH_LINENO[$i]}</nowiki>で呼び出された。 呼び出し元ビルトインは、この情報を使用して現在の呼び出しスタックを表示する。 |
| sion, parameter and variable expansion, command substitution, arithmetic expansion, and quote re‐
| | ;GROUPS |
| moval (see EXPANSION below). If the variable has its integer attribute set, then value is evalu‐
| | :現在のユーザーがメンバーであるグループのリストを含む配列変数。'''GROUPS'''への代入は無効である。 '''GROUPS'''が設定されていない場合、その後にリセットされても、特別なプロパティは失われる。 |
| ated as an arithmetic expression even if the $((...)) expansion is not used (see Arithmetic Ex‐
| | ;HISTCMD |
| pansion below). Word splitting is not performed, with the exception of "$@" as explained below
| | :現在のコマンドの履歴番号、または履歴リストのインデックス。 '''HISTCMD'''への割り当ては無視される。 '''HISTCMD'''が設定されていない場合、その後にリセットされても、特別なプロパティは失われる。 |
| under Special Parameters. Pathname expansion is not performed. Assignment statements may also
| | ;HOSTNAME |
| appear as arguments to the alias, declare, typeset, export, readonly, and local builtin commands
| | :自動的に現在のホスト名に設定される。 |
| (declaration commands). When in posix mode, these builtins may appear in a command after one or
| | ;HOSTTYPE |
| more instances of the command builtin and retain these assignment statement properties.
| | :bashが実行されているマシンの種類を一意に表す文字列が自動的に設定される。 デフォルトはシステム依存である。 |
| | ;LINENO |
| | :このパラメータが参照されるたびに、シェルはスクリプトまたは関数内の 現在の連続行番号(1から始まる)を表す10進数を代入する。スクリプトや関数の中にない場合、代入される値が意味を持つことは保証されない。 '''LINENO'''が未設定の場合、その後にリセットされても、その特別な特性は失われる。 |
| | ;MACHTYPE |
| | :bashが実行されているシステムの種類を、標準のGNU cpu-company-system形式で完全に表す文字列が自動的に設定される。 デフォルトはシステム依存である。 |
| | ;MAPFILE |
| | :変数名が与えられていない場合に、mapfile 組み込み関数が読み込んだテキストを保持するために作成される配列変数(下記の[[#Arrays|Arrays ]]を参照)。 |
| | ;OLDPWD |
| | :cdコマンドで設定された以前の作業ディレクトリ。 |
| | ;OPTARG |
| | :getopts組み込みコマンドで処理された最後のオプション引数の値(後述の[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]を参照)。 |
| | ;OPTIND |
| | :getopts組み込みコマンド(下記の[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]を参照)が処理する次の引数のインデックス。 |
| | ;OSTYPE |
| | :bashが実行されているオペレーティング・システムを表す文字列が自動的に設定される。 デフォルトはシステム依存である。 |
| | ;PIPESTATUS |
| | :最も最近実行されたフォアグラウンド・パイプラインのプロセス(単一のコマンドのみを含むことができる)の終了ステータス値のリストを含む配列変数(以下の[[#Arrays|Arrays ]]を参照)。 |
| | ;PPID |
| | :シェルの親のプロセスID。 この変数は読み取り専用である。 |
| | ;PWD |
| | :cdコマンドで設定された現在の作業ディレクトリ。 |
| | :RANDOM |
| | :このパラメータが参照されるたびに、0から32767の間のランダムな整数に展開される。 '''RANDOM'''に値を代入すると、乱数列が初期化(seeds)される。'''RANDOM'''の設定が解除されると、その後リセットされても、その特別な特性は失われる。 |
| | ;READLINE_LINE |
| | ;READLINE_MARK |
| | :bind -x」(後述の[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]参照)で使用する、readline行バッファ内のマーク(保存された挿入点)の位置。 挿入点とマークの間の文字は、しばしば領域と呼ばれる。 |
| | ;READLINE_POINT |
| | :''bind -x''(下記の[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]を参照)で使用する。 |
| | ;REPLY |
| | :引数が与えられない場合、read 組み込みコマンドによって読み込まれた入力行を設定する。 |
| | ;SECONDS |
| | :このパラメータが参照されるたびに、シェル起動からの秒数が返される。 '''SECONDS'''に値が代入されている場合、それ以降の参照時に返される値は、代入後の秒数に代入された値を加えたものとなる。 シェル起動時の秒数と現在時刻は、常にシステムクロックに問い合わせて決定される。 '''SECONDS'''が未設定の場合、その後にリセットされても、その特別な特性は失われる。 |
| | ;SHELLOPTS |
| | :有効なシェルオプションのコロン区切りのリスト。 リスト内の各単語は、 set 組み込みコマンドの -o オプションの有効な引数である (後述の [[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]] を参照のこと)。 '''SHELLOPTS''' に表示されるオプションは、 set -o で有効であると報告されたものである。 bashの起動時にこの変数が環境にある場合、起動ファイルを読み込む前にリストの各シェルオプションが有効になる。 この変数は読み取り専用である。 |
| | ;SHLVL |
| | :bashのインスタンスが起動するたびに1ずつ増加する。 |
| | ;SRANDOM |
| | :この変数は、参照されるたびに32ビットの擬似乱数に展開される。<u>/dev/urandom</u>または<u>arc4random</u>をサポートするシステムでは、乱数生成器は線形ではないため、返される各数値はその前の数値と何の関係も持たない。 乱数生成器はシードできないので、この変数への代入は何の効果もない。 '''SRANDOM'''が設定されていない場合、その後リセットされても、その特別な特性は失われる。 |
| | ;UID |
| | :シェル起動時に初期化される現在のユーザーのユーザーIDに展開される。 この変数は読み取り専用である。 |
|
| |
|
| In the context where an assignment statement is assigning a value to a shell variable or array
| | 以下の変数はシェルで使用される。 bashは変数にデフォルト値を割り当てる場合がある。 |
| index, the += operator can be used to append to or add to the variable's previous value. This
| |
| includes arguments to builtin commands such as declare that accept assignment statements (decla‐
| |
| ration commands). When += is applied to a variable for which the integer attribute has been set,
| |
| value is evaluated as an arithmetic expression and added to the variable's current value, which
| |
| is also evaluated. When += is applied to an array variable using compound assignment (see Arrays
| |
| below), the variable's value is not unset (as it is when using =), and new values are appended to
| |
| the array beginning at one greater than the array's maximum index (for indexed arrays) or added
| |
| as additional key-value pairs in an associative array. When applied to a string-valued variable,
| |
| value is expanded and appended to the variable's value.
| |
|
| |
|
| A variable can be assigned the nameref attribute using the -n option to the declare or local
| | ;BASH_COMPAT |
| builtin commands (see the descriptions of declare and local below) to create a nameref, or a ref‐
| | :この値は、シェルの互換性レベルを設定するために使用される。 様々な互換性レベルとその効果については、後述の [[#SHELL COMPATIBILITY MODE|SHELL COMPATIBILITY MODE ]]を参照のこと。 値は、希望する互換性レベルに対応する10進数(例えば4.2)または整数(例えば42)である。 '''BASH_COMPAT'''が未設定または空文字列に設定されている場合、互換性レベルは現在のバージョンのデフォルトに設定される。 '''BASH_COMPAT'''に有効な互換性レベル以外の値が設定された場合、シェルはエラーメッセージを表示し、互換性レベルを現在のバージョンのデフォルトに設定する。 有効な値は、'''BSHELLCOMPATIBILITYMODE'''で後述する互換性レベルに対応する。 例えば、4.2と42はcompat42 shoptオプションに対応する有効な値であり、互換性レベルを42に設定する。 現在のバージョンも有効な値である。 |
| erence to another variable. This allows variables to be manipulated indirectly. Whenever the
| | ;BASH_ENV |
| nameref variable is referenced, assigned to, unset, or has its attributes modified (other than
| | :bashがシェルスクリプトを実行しているときにこのパラメータが設定されると、その値は<u>~/.bashrc</u>のようにシェルを初期化するコマンドを含むファイル名として解釈される。 '''BASH_ENV'''の値は、ファイル名として解釈される前に、パラメータ展開、コマンド置換、算術展開が行われる。 '''PATH'''は結果のファイル名の検索には使われない。 |
| using or changing the nameref attribute itself), the operation is actually performed on the vari‐
| | ;BASH_XTRACEFD |
| able specified by the nameref variable's value. A nameref is commonly used within shell func‐
| | :有効なファイル記述子に対応する整数に設定された場合、 bash は set -x が有効なときに生成されたトレース出力をそのファイル記述子に書き込む。 '''BASH_XTRACEFD'''の設定が解除されるか、新しい値が割り当てられると、ファイル記述子は閉じられる。 '''BASH_XTRACEFD''' の設定を解除するか、空文字列を代入すると、トレース出力は標準エラーに送られる。'''BASH_XTRACEFD'''を2(標準エラーファイルディスクリプター)に設定し、それを解除すると標準エラーは閉じられることに注意すること。 |
| tions to refer to a variable whose name is passed as an argument to the function. For instance,
| | ;CDPATH |
| if a variable name is passed to a shell function as its first argument, running
| | :cdコマンドの検索パス。 コロンで区切られたディレクトリのリストで、シェルがcdコマンドで指定されたディレクトリを検索する。 サンプル値は <u>".:~:/usr"</u> である。 |
| declare -n ref=$1
| | ;CHILD_MAX |
| inside the function creates a nameref variable ref whose value is the variable name passed as the
| | :シェルが記憶しておく、終了した子プロセスのステータス値の数を設定する。 Bashはこの値をPOSIXで定められた最小値以下にすることを許さず、最大値(現在は8192)を超えてはならない。 最小値はシステムに依存する。 |
| first argument. References and assignments to ref, and changes to its attributes, are treated as
| | ;COLUMNS |
| references, assignments, and attribute modifications to the variable whose name was passed as $1. | | :選択リストを印刷するときに端末の幅を決定するために select 複合コマンドで使用される。 checkwinsize オプションが有効になっているか、対話型シェルで '''SIGWINCH''' を受け取ったときに自動的に設定される。 |
| If the control variable in a for loop has the nameref attribute, the list of words can be a list
| | ;COMPREPLY |
| of shell variables, and a name reference will be established for each word in the list, in turn,
| | :プログラム可能な補完機能 (下記の[[#Programmable Completion|Programmable Completion ]]を参照) によって呼び出されたシェル関数が生成する可能性のある補完を bash が読み込む配列変数。 配列の各要素には completion. |
| when the loop is executed. Array variables cannot be given the nameref attribute. However,
| | ;EMACS |
| nameref variables can reference array variables and subscripted array variables. Namerefs can be
| | :シェルが "t"という値で開始したときに、bashがこの変数を環境内で見つけた場合、シェルはEmacsシェル・バッファで実行されているとみなし、行の編集を無効にする。 |
| unset using the -n option to the unset builtin. Otherwise, if unset is executed with the name of | | ;ENV |
| a nameref variable as an argument, the variable referenced by the nameref variable will be unset.
| | :posix モードで対話型シェルが起動されると、'''BASH_ENV'''(上記の [[#INVOCATION|INVOCATION ]]を参照)と同様に展開され実行される。 |
| | ;EXECIGNORE |
| | :PATHを使ったコマンド検索で無視されるファイル名のリストを定義する、コロンで区切られたシェルパターンのリスト([[#Pattern Matching|Pattern Matching ]]を参照)。 これらのパターンのいずれかにフルパス名が一致するファイルは、'''PATH'''検索による補完とコマンド実行の目的上、実行可能ファイルとはみなされない。 これは、<nowiki>[]、test、[[</nowiki> コマンドの動作には影響しない。 コマンドハッシュテーブルのフルパス名は、'''EXECIGNORE'''の対象ではない。 実行可能ビットが設定されているが実行可能ファイルではない共有ライブラリファイルを無視するには、この変数を使用する。 パターン・マッチは extglob シェル・オプションの設定に従う。 |
| | ;FCEDIT |
| | :fc組み込みコマンドのデフォルトエディタ。 |
| | ;FIGNORE |
| | :ファイル名の補完を行うときに無視する接尾辞のコロン区切りのリスト (下記の READLINE を参照)。 接尾辞が'''FIGNORE'''のエントリーにマッチするファイル名は、マッチする ファイル名のリストから除外される。 サンプル値は<nowiki>".o:~"</nowiki>である(この変数に値を代入するときは引用符で囲む必要がある。) |
| | ;FUNCNEST |
| | :0より大きい数値に設定された場合、関数の最大入れ子レベルを定義する。 このネスティング・レベルを超える関数の呼び出しは、現在のコマンドを中断させる。 |
| | ;GLOBIGNORE |
| | :パス名展開で無視するファイル名の集合を定義するパターンのコロン区切りのリスト。 パス名展開パターンにマッチしたファイル名が、'''GLOBIGNORE''' のパターンの1つにもマッチした場合、そのファイル名はマッチリストから取り除かれる。 |
| | ;HISTCONTROL |
| | :コロンで区切られた値のリストで、コマンドの履歴リストへの保存方法を制御する。値のリストに ignorespace が含まれていると、スペース文字で始まる行は履歴リストに保存されない。 ignoreupsを指定すると、直前の履歴エントリと一致する行は保存されない。 ignorebothはignorespaceとignoreupsの省略形である。 erasedupsを指定すると、現在の行と一致する前の行はすべて、その行が保存される前に履歴リストから削除される。 上記のリストにない値は無視される。 '''HISTCONTROL'''が設定されていないか、有効な値が含まれていない場合、シェル・パーサが読み込んだすべての行が、'''HISTIGNORE'''の値に従って、履歴リストに保存される。 複数行の複合コマンドの2行目以降はテストされず、'''HISTCONTROL'''の値に関係なく履歴に追加される。 |
| | ;HISTFILE |
| | :コマンド履歴を保存するファイル名(後述の[[#HISTORY|HISTORY ]]を参照)。 デフォルト値は <u>~/.bash_history</u> である。 未設定の場合、シェルの終了時にコマンド履歴は保存されない。 |
| | ;HISTFILESIZE |
| | :履歴ファイルに含まれる最大行数。 この変数に値が代入されると、ヒストリファイルは必要に応じて、最も古いエントリを削除することによって、その行数以下に切り詰められる。 また、シェル終了時にヒストリファイルを書き込んだ後、このサイズに切り詰められる。 値が0の場合、履歴ファイルのサイズは0に切り詰められる。 数値以外の値や0未満の数値は切り捨てられない。 シェルは起動ファイルを読み込んだ後、デフォルト値を '''HISTSIZE''' の値に設定する。 |
| | ;HISTIGNORE |
| | :コロンで区切られたパターンのリストで、履歴リストに保存するコマンド行を決定するために使われる。 各パターンは行頭にアンカーされ、完全な行にマッチしなければならない (暗黙の `*' は付加されない)。 各パターンは'''HISTCONTROL'''で指定されたチェックが適用された後、その行に対してテストされる。 通常のシェルパターンにマッチする文字に加えて、`&'は前のヒストリ行にマッチする。 バックスラッシュはマッチを試みる前に取り除かれる。 複数行の複合コマンドの2行目以降はテストされず、 '''HISTIGNORE'''の値に関係なくヒストリに追加される。 パターン・マッチは extglob シェル・オプションの設定に従う。 |
| | ;HISTSIZE |
| | :コマンド履歴(下記の[[#HISTORY|HISTORY ]]を参照)に記憶させるコマンドの数。 値が0の場合、コマンドは履歴リストに保存されない。 0 未満の数値を指定すると、すべてのコマンドが履歴リストに保存される (上限はない)。 シェルは起動ファイルを読み込んだ後、デフォルト値を500に設定する。 |
| | ;HISTTIMEFORMAT |
| | この変数が設定され、かつ NULL でない場合、その値は '''[https://manpages.debian.org/bookworm/manpages-dev/strftime.3.en.html strftime]'''(3) の書式文字列として使用され、history 組み込み関数が表示する各履歴エントリに関連付けられたタイムスタンプを表示する。 この変数が設定されている場合、タイムスタンプは履歴ファイルに書き込まれ、シェルセッションを越えて保存される。 タイムスタンプを他のヒストリ行と区別するために、ヒストリのコメント文字を使用する。 |
| | ;HOME |
| | :cd組み込みコマンドのデフォルト引数である。この変数の値は、チルダ展開を行うときにも使われる。 |
| | ;HOSTFILE |
| | :シェルがホスト名を補完する必要があるときに読み込む、<u>/etc/hosts</u>と同じ形式のファイルの名前を含む。 値が変更された後に次にホスト名の補完が試みられると、 bashは新しいファイルの内容を既存のリストに追加する。 '''HOSTFILE'''が設定されているが値がないか、読み取り可能なファイル名がない場合、bashは<u>/etc/hosts</u>を読み込んでホスト名補完の可能性のあるリストを取得しようとする。 '''HOSTFILE'''が設定されていない場合、ホスト名リストはクリアされる。 |
| | ;IFS |
| | :内部フィールド区切り文字で、展開後の単語分割や、read組み込みコマンドで行を単語に分割する際に使われる。 デフォルト値は <nowiki>``<space><tab><new-line>''</nowiki> である。 |
| | ;IGNOREEOF |
| | :唯一の入力としてEOF文字を受け取ったときの対話型シェルの動作を制御する。 設定されている場合、値は、bashが終了する前に入力行の最初の文字として入力されなければならない連続したEOF文字の数である。 この変数が存在するが数値がない場合、または値がない場合、デフォルト値は10である。 存在しない場合、EOFはシェルへの入力の終了を意味する。 |
| | ;INPUTRC |
| | :readline起動ファイルのファイル名。デフォルトの<u>~/.inputrc</u>を上書きする(後述の[[#READLINE|READLINE ]]を参照)。 |
| | ;INSIDE_EMACS |
| | :シェルの起動時にこの変数が環境に現れると、bashはEmacsシェル・バッファ内で動作しているとみなし、'''TERM'''の値によっては行の編集を無効にすることができる。 |
| | ;LANG |
| | :'''LC_'''で始まる変数で特に選択されていないカテゴリーについて、ロケール・カテゴリーを決定するために使用される。 |
| | ;LC_ALL |
| | :この変数は、'''LANG'''およびロケールカテゴリーを指定する他の'''LC_'''変数の値を上書きする。 |
| | ;LC_COLLATE |
| | :この変数は、パス名展開の結果をソートするときに使用される照合順序を決定し、パス名展開とパターンマッチにおける範囲式、等価クラス、照合順序の動作を決定する。 |
| | ;LC_CTYPE |
| | :この変数は、パス名展開とパターンマッチにおける文字の解釈と文字クラスの動作を決定する。 |
| | ;LC_MESSAGES |
| | :この変数は、$で始まる二重引用符で囲まれた文字列の翻訳に使われるロケールを決定する。 |
| | ;LC_NUMERIC |
| | :この変数は、数値の書式設定に使われるロケールカテゴリーを決定する。 |
| | ;LC_TIME |
| | :この変数は、データと時刻のフォーマットに使用されるロケールカテゴリーを決定する。 |
| | ;LINES |
| | :select 複合コマンドで使用され、選択リストを印刷する際の列の長さを決定する。 checkwinsize オプションが有効になっているか、対話型シェルで '''SIGWINCH''' を受け取ったときに自動的に設定される。 |
| | ;MAIL |
| | :このパラメータにファイル名またはディレクトリ名が設定され、'''MAILPATH'''変数が設定されていない場合、bashは指定されたファイルまたはMaildir形式のディレクトリにメールが到着したことをユーザーに通知する。 |
| | ;MAILCHECK |
| | :bashがメールをチェックする頻度(秒)を指定する。 デフォルトは60秒である。 メールをチェックする時間になると、シェルはプライマリ・プロンプトを表示する前にチェックする。 この変数が設定されていないか、0以上の値でない場合、シェルはメールチェックを無効にする。 |
| | ;MAILPATH |
| | :コロンで区切られた、メールをチェックするファイル名のリスト。 特定のファイルにメールが到着したときに表示されるメッセージは、 ファイル名とメッセージを `?' で区切って指定することができる。 メッセージのテキストで使われた場合、$_は現在のメールファイル名に展開される。 例: |
| | ::<nowiki>MAILPATH='/var/mail/bfox? "You have mail":~/shell-mail?"$_ has mail!"'</nowiki> |
| | :::Bash はこの変数にデフォルト値を与えるように設定することができる(デフォルトでは値はない)が、使用するユーザーメールファイルの場所はシステムに依存する(例えば、<u>/var/mail/$USER</u>)。 |
| | ;OPTERR |
| | :値1に設定すると、bashはgetopts組み込みコマンドで生成されたエラー・メッセージを表示する(後述の[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]を参照)。 OPTERRは、シェルが起動されるかシェル・スクリプトが実行されるたびに1に初期化される。 |
| | ;PATH |
| | :コマンドの検索パス。 コロンで区切られた、シェルがコマンドを探すディレクトリのリストである(後述の[[#COMMAND EXECUTION|COMMAND EXECUTION ]]を参照)。 '''PATH'''の値に長さゼロ(NULL)のディレクトリ名があると、カレントディレクトリを示す。 NULLディレクトリ名は、隣接する2つのコロン、または先頭または末尾のコロンとして表示される。 デフォルトのパスはシステムに依存し、bashをインストールした管理者が設定する。 一般的な値は <u>''/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin''</u> である。 |
| | ;POSIXLY_CORRECT |
| | :bashの起動時にこの変数が環境に設定されていると、シェルは起動ファイルを読み込む前にposixモードに入る。 シェルの実行中にこの変数が設定されると、コマンド set -o posix が実行されたかのように、bash は posix モードを有効にする。 シェルが posix モードに入ると、この変数が設定されていなければ設定される。 |
| | ;PROMPT_COMMAND |
| | :この変数がセットされ、配列である場合、各プライマリプロンプトを発行する前に、 セットされた各要素の値がコマンドとして実行される。 この変数がセットされているが配列変数でない場合、代わりにその値がコマンドとして実行される。 |
| | ;PROMPT_DIRTRIM |
| | :0より大きい数値が設定された場合、この値は⦅w⦆と⦅W⦆のプロンプト文字列エスケープを展開するときに保持する末尾のディレク トリ構成要素の数として使用される(下記の[[#PROMPTING|PROMPTING ]]を参照)。 削除された文字は省略記号に置き換えられる。 |
| | ;PS0 |
| | :このパラメーターの値は展開され(下記の[[#PROMPTING|PROMPTING ]]を参照)、コマンドを読み込んだ後、コマンドが実行される前に対話型シェルによって表示される。 |
| | ;PS1 |
| | :このパラメータの値は展開され(下記の[[#PROMPTING|PROMPTING ]]を参照)、プライマリプロンプト文字列として使用される。 デフォルト値は <nowiki>''s-vv$''</nowiki> である。 |
| | ;PS2 |
| | :このパラメータの値はPS1と同様に展開され、セカンダリプロンプト文字列と して使用される。 デフォルトは <nowiki>''> ''</nowiki> である。 |
| | ;PS3 |
| | :このパラメータの値は、selectコマンドのプロンプトとして使われる(上記の[[#SHELL GRAMMAR|SHELL GRAMMAR ]]を参照)。 |
| | ;PS4 |
| | :このパラメータの値は、PS1と同様に展開され、実行トレース中にbashが表示する各コマンドの前に表示される。 PS4の展開された値の最初の文字は、複数のレベルのインダイレクトを示すために、必要に応じて複数回繰り返される。 デフォルトは ''+'' である。 |
| | ;SHELL |
| | :この変数はシェルのフルパス名に展開される。 シェルの起動時に設定されていない場合、bashは現在のユーザーのログインシェルのフルパス名をこの変数に代入する。 |
| | ;TIMEFORMAT |
| | :このパラメータの値は、時間予約語を先頭に持つパイプラインのタイミン グ情報をどのように表示するかを指定するフォーマット文字列として使用される。 文字は、時間値や他の情報に展開されるエスケープシーケンスを導入する。中括弧は省略可能な部分を示す。 |
| | ;;<nowiki>%%</nowiki> |
| | :::文字通りの%。 |
| | ;;<nowiki>%[p][l]R</nowiki> |
| | :::経過時間を秒単位で示す。 |
| | ;;<nowiki>%[p][l]U</nowiki> |
| | :::ユーザーモードで使用されたCPU秒数。 |
| | ;;<nowiki>%[p][l]S</nowiki> |
| | :::システムモードで使用されたCPU秒数。 |
| | ;;<nowiki>%P</nowiki> |
| | :::CPU パーセント。(%U + %S) / %R として計算される。 |
|
| |
|
| Positional Parameters
| | :オプションのpは精度を指定する桁で、小数点以下の端数の桁数を指定する。 0を指定すると小数点以下の端数は出力されない。 小数点以下の桁数は最大3桁まで指定できる。pの値が3より大きい場合は3に変更される。pが指定されない場合は3が使用される。 |
| A positional parameter is a parameter denoted by one or more digits, other than the single digit
| |
| 0. Positional parameters are assigned from the shell's arguments when it is invoked, and may be
| |
| reassigned using the set builtin command. Positional parameters may not be assigned to with as‐
| |
| signment statements. The positional parameters are temporarily replaced when a shell function is
| |
| executed (see FUNCTIONS below).
| |
|
| |
|
| When a positional parameter consisting of more than a single digit is expanded, it must be en‐
| | :オプションのlは、MMmSS.FFsの形式で、分を含む長い書式を指定する。 pの値は、分数を含めるかどうかを決定する。 |
| closed in braces (see EXPANSION below).
| |
|
| |
|
| Special Parameters
| | :この変数が設定されていない場合、bashは<nowiki>$' \nrealt%3lR\nusert%3lU\nsysyt%3lS'</nowiki> という値を持つものとして動作する。 値がNULLの場合、タイミング情報は表示されない。 フォーマット文字列が表示されると、末尾に改行が追加される。 |
| The shell treats several parameters specially. These parameters may only be referenced; assign‐
| | ;TMOUT |
| ment to them is not allowed.
| | :0 より大きい値に設定された場合、'''TMOUT''' は read 組み込み関数のデフォルトのタイムアウトとして扱われる。 ターミナルからの入力の場合、TMOUT 秒後に入力がなければ select コマンドは終了する。 対話型シェルでは、この値はプライマリプロンプトを発行してから1行の入力を待つ秒数として解釈される。 Bashは、完全な入力行が到着しない場合、その秒数待った後に終了する。 |
| * Expands to the positional parameters, starting from one. When the expansion is not within
| | ;TMPDIR |
| double quotes, each positional parameter expands to a separate word. In contexts where it
| | :設定された場合、bashはこの値をシェルが使用する一時ファイルを作成するディレクトリの名前として使用する。 |
| is performed, those words are subject to further word splitting and pathname expansion.
| |
| When the expansion occurs within double quotes, it expands to a single word with the value
| |
| of each parameter separated by the first character of the IFS special variable. That is,
| |
| "$*" is equivalent to "$1c$2c...", where c is the first character of the value of the IFS
| |
| variable. If IFS is unset, the parameters are separated by spaces. If IFS is null, the
| |
| parameters are joined without intervening separators.
| |
| @ Expands to the positional parameters, starting from one. In contexts where word splitting
| |
| is performed, this expands each positional parameter to a separate word; if not within
| |
| double quotes, these words are subject to word splitting. In contexts where word split‐
| |
| ting is not performed, this expands to a single word with each positional parameter sepa‐
| |
| rated by a space. When the expansion occurs within double quotes, each parameter expands
| |
| to a separate word. That is, "$@" is equivalent to "$1" "$2" ... If the double-quoted
| |
| expansion occurs within a word, the expansion of the first parameter is joined with the
| |
| beginning part of the original word, and the expansion of the last parameter is joined
| |
| with the last part of the original word. When there are no positional parameters, "$@"
| |
| and $@ expand to nothing (i.e., they are removed).
| |
| # Expands to the number of positional parameters in decimal.
| |
| ? Expands to the exit status of the most recently executed foreground pipeline.
| |
| - Expands to the current option flags as specified upon invocation, by the set builtin com‐
| |
| mand, or those set by the shell itself (such as the -i option).
| |
| $ Expands to the process ID of the shell. In a () subshell, it expands to the process ID of
| |
| the current shell, not the subshell.
| |
| ! Expands to the process ID of the job most recently placed into the background, whether ex‐
| |
| ecuted as an asynchronous command or using the bg builtin (see JOB CONTROL below).
| |
| 0 Expands to the name of the shell or shell script. This is set at shell initialization.
| |
| If bash is invoked with a file of commands, $0 is set to the name of that file. If bash
| |
| is started with the -c option, then $0 is set to the first argument after the string to be
| |
| executed, if one is present. Otherwise, it is set to the filename used to invoke bash, as
| |
| given by argument zero.
| |
|
| |
|
| Shell Variables
| | ;auto_resume |
| The following variables are set by the shell:
| | :この変数は、シェルがどのようにユーザーとジョブ制御をやりとりするかを制御する。 この変数が設定されている場合、リダイレクトを伴わない 単語の単純なコマンドは、停止している既存のジョブの再開候補として扱われる。 曖昧さは許されない。入力された文字列で始まるジョブが複数ある場合、最も最近アクセスされたジョブが選択される。 この文脈では、停止したジョブの名前は、そのジョブを開始するために使用されたコマンドラインである。 値がexactに設定されている場合、与えられた文字列は、停止したジョブの名前と正確に一致しなければならない。substringに設定されている場合、与えられた文字列は、停止したジョブの名前の部分文字列と一致する必要がある。 substringに設定された場合、提供される文字列は、停止したジョブの名前の部分文字列に一致する必要がある。部分文字列値は、%? 他の値に設定された場合、指定された文字列は停止したジョブの名前の接頭辞でなければならない。 |
|
| |
|
| _ At shell startup, set to the pathname used to invoke the shell or shell script being exe‐
| | ;histchars |
| cuted as passed in the environment or argument list. Subsequently, expands to the last
| | :履歴の展開とトークン化を制御する2文字または3文字である(下記の[[#HISTORY EXPANSION|HISTORY EXPANSION ]]を参照)。 最初の文字はヒストリ展開文字で、ヒストリ展開の開始を示す文字であり、通常は `!' である。 2番目の文字はクイック置換文字で、前に入力したコマンドを再実行するための省略記 号として使われ、コマンド中の文字列を別の文字列に置き換える。 デフォルトは`^'である。オプションの3番目の文字は、単語の最初の文字として見つかった場合に、その行の残りがコメントであることを示す文字で、通常は`#'である。 ヒストリコメント文字は、その行の残りの単語のヒストリ置換をスキップさせる。 シェルパーサが行の残りの部分をコメントとして扱うとは限らない。 |
| argument to the previous simple command executed in the foreground, after expansion. Also
| |
| set to the full pathname used to invoke each command executed and placed in the environ‐
| |
| ment exported to that command. When checking mail, this parameter holds the name of the
| |
| mail file currently being checked.
| |
| BASH Expands to the full filename used to invoke this instance of bash.
| |
| BASHOPTS
| |
| A colon-separated list of enabled shell options. Each word in the list is a valid argu‐
| |
| ment for the -s option to the shopt builtin command (see SHELL BUILTIN COMMANDS below).
| |
| The options appearing in BASHOPTS are those reported as on by shopt. If this variable is
| |
| in the environment when bash starts up, each shell option in the list will be enabled be‐
| |
| fore reading any startup files. This variable is read-only.
| |
| BASHPID
| |
| Expands to the process ID of the current bash process. This differs from $$ under certain
| |
| circumstances, such as subshells that do not require bash to be re-initialized. Assign‐
| |
| ments to BASHPID have no effect. If BASHPID is unset, it loses its special properties,
| |
| even if it is subsequently reset.
| |
| BASH_ALIASES
| |
| An associative array variable whose members correspond to the internal list of aliases as
| |
| maintained by the alias builtin. Elements added to this array appear in the alias list;
| |
| however, unsetting array elements currently does not cause aliases to be removed from the
| |
| alias list. If BASH_ALIASES is unset, it loses its special properties, even if it is sub‐
| |
| sequently reset.
| |
| BASH_ARGC
| |
| An array variable whose values are the number of parameters in each frame of the current
| |
| bash execution call stack. The number of parameters to the current subroutine (shell
| |
| function or script executed with . or source) is at the top of the stack. When a subrou‐
| |
| tine is executed, the number of parameters passed is pushed onto BASH_ARGC. The shell
| |
| sets BASH_ARGC only when in extended debugging mode (see the description of the extdebug
| |
| option to the shopt builtin below). Setting extdebug after the shell has started to exe‐
| |
| cute a script, or referencing this variable when extdebug is not set, may result in incon‐
| |
| sistent values.
| |
| BASH_ARGV
| |
| An array variable containing all of the parameters in the current bash execution call
| |
| stack. The final parameter of the last subroutine call is at the top of the stack; the
| |
| first parameter of the initial call is at the bottom. When a subroutine is executed, the
| |
| parameters supplied are pushed onto BASH_ARGV. The shell sets BASH_ARGV only when in ex‐
| |
| tended debugging mode (see the description of the extdebug option to the shopt builtin be‐
| |
| low). Setting extdebug after the shell has started to execute a script, or referencing
| |
| this variable when extdebug is not set, may result in inconsistent values.
| |
| BASH_ARGV0
| |
| When referenced, this variable expands to the name of the shell or shell script (identical
| |
| to $0; see the description of special parameter 0 above). Assignment to BASH_ARGV0 causes
| |
| the value assigned to also be assigned to $0. If BASH_ARGV0 is unset, it loses its spe‐
| |
| cial properties, even if it is subsequently reset.
| |
| BASH_CMDS
| |
| An associative array variable whose members correspond to the internal hash table of com‐
| |
| mands as maintained by the hash builtin. Elements added to this array appear in the hash
| |
| table; however, unsetting array elements currently does not cause command names to be re‐
| |
| moved from the hash table. If BASH_CMDS is unset, it loses its special properties, even
| |
| if it is subsequently reset.
| |
| BASH_COMMAND
| |
| The command currently being executed or about to be executed, unless the shell is execut‐
| |
| ing a command as the result of a trap, in which case it is the command executing at the
| |
| time of the trap. If BASH_COMMAND is unset, it loses its special properties, even if it
| |
| is subsequently reset.
| |
| BASH_EXECUTION_STRING
| |
| The command argument to the -c invocation option.
| |
| BASH_LINENO
| |
| An array variable whose members are the line numbers in source files where each corre‐
| |
| sponding member of FUNCNAME was invoked. ${BASH_LINENO[$i]} is the line number in the
| |
| source file (${BASH_SOURCE[$i+1]}) where ${FUNCNAME[$i]} was called (or
| |
| ${BASH_LINENO[$i-1]} if referenced within another shell function). Use LINENO to obtain
| |
| the current line number.
| |
| BASH_LOADABLES_PATH
| |
| A colon-separated list of directories in which the shell looks for dynamically loadable
| |
| builtins specified by the enable command.
| |
| BASH_REMATCH
| |
| An array variable whose members are assigned by the =~ binary operator to the [[ condi‐
| |
| tional command. The element with index 0 is the portion of the string matching the entire
| |
| regular expression. The element with index n is the portion of the string matching the
| |
| nth parenthesized subexpression.
| |
| BASH_SOURCE
| |
| An array variable whose members are the source filenames where the corresponding shell
| |
| function names in the FUNCNAME array variable are defined. The shell function ${FUNC‐
| |
| NAME[$i]} is defined in the file ${BASH_SOURCE[$i]} and called from ${BASH_SOURCE[$i+1]}.
| |
| BASH_SUBSHELL
| |
| Incremented by one within each subshell or subshell environment when the shell begins exe‐
| |
| cuting in that environment. The initial value is 0. If BASH_SUBSHELL is unset, it loses
| |
| its special properties, even if it is subsequently reset.
| |
| BASH_VERSINFO
| |
| A readonly array variable whose members hold version information for this instance of
| |
| bash. The values assigned to the array members are as follows:
| |
| BASH_VERSINFO[0] The major version number (the release).
| |
| BASH_VERSINFO[1] The minor version number (the version).
| |
| BASH_VERSINFO[2] The patch level.
| |
| BASH_VERSINFO[3] The build version.
| |
| BASH_VERSINFO[4] The release status (e.g., beta1).
| |
| BASH_VERSINFO[5] The value of MACHTYPE.
| |
| BASH_VERSION
| |
| Expands to a string describing the version of this instance of bash.
| |
| COMP_CWORD
| |
| An index into ${COMP_WORDS} of the word containing the current cursor position. This
| |
| variable is available only in shell functions invoked by the programmable completion fa‐
| |
| cilities (see Programmable Completion below).
| |
| COMP_KEY
| |
| The key (or final key of a key sequence) used to invoke the current completion function.
| |
| COMP_LINE
| |
| The current command line. This variable is available only in shell functions and external
| |
| commands invoked by the programmable completion facilities (see Programmable Completion
| |
| below).
| |
| COMP_POINT
| |
| The index of the current cursor position relative to the beginning of the current command.
| |
| If the current cursor position is at the end of the current command, the value of this
| |
| variable is equal to ${#COMP_LINE}. This variable is available only in shell functions
| |
| and external commands invoked by the programmable completion facilities (see Programmable
| |
| Completion below).
| |
| COMP_TYPE
| |
| Set to an integer value corresponding to the type of completion attempted that caused a
| |
| completion function to be called: TAB, for normal completion, ?, for listing completions
| |
| after successive tabs, !, for listing alternatives on partial word completion, @, to list
| |
| completions if the word is not unmodified, or %, for menu completion. This variable is
| |
| available only in shell functions and external commands invoked by the programmable com‐
| |
| pletion facilities (see Programmable Completion below).
| |
| COMP_WORDBREAKS
| |
| The set of characters that the readline library treats as word separators when performing
| |
| word completion. If COMP_WORDBREAKS is unset, it loses its special properties, even if it
| |
| is subsequently reset.
| |
| COMP_WORDS
| |
| An array variable (see Arrays below) consisting of the individual words in the current
| |
| command line. The line is split into words as readline would split it, using COMP_WORD‐
| |
| BREAKS as described above. This variable is available only in shell functions invoked by
| |
| the programmable completion facilities (see Programmable Completion below).
| |
| COPROC An array variable (see Arrays below) created to hold the file descriptors for output from
| |
| and input to an unnamed coprocess (see Coprocesses above).
| |
| DIRSTACK
| |
| An array variable (see Arrays below) containing the current contents of the directory
| |
| stack. Directories appear in the stack in the order they are displayed by the dirs
| |
| builtin. Assigning to members of this array variable may be used to modify directories
| |
| already in the stack, but the pushd and popd builtins must be used to add and remove di‐
| |
| rectories. Assignment to this variable will not change the current directory. If
| |
| DIRSTACK is unset, it loses its special properties, even if it is subsequently reset.
| |
| EPOCHREALTIME
| |
| Each time this parameter is referenced, it expands to the number of seconds since the Unix
| |
| Epoch (see time(3)) as a floating point value with micro-second granularity. Assignments
| |
| to EPOCHREALTIME are ignored. If EPOCHREALTIME is unset, it loses its special properties,
| |
| even if it is subsequently reset.
| |
| EPOCHSECONDS
| |
| Each time this parameter is referenced, it expands to the number of seconds since the Unix
| |
| Epoch (see time(3)). Assignments to EPOCHSECONDS are ignored. If EPOCHSECONDS is unset,
| |
| it loses its special properties, even if it is subsequently reset.
| |
| EUID Expands to the effective user ID of the current user, initialized at shell startup. This
| |
| variable is readonly.
| |
| FUNCNAME
| |
| An array variable containing the names of all shell functions currently in the execution
| |
| call stack. The element with index 0 is the name of any currently-executing shell func‐
| |
| tion. The bottom-most element (the one with the highest index) is "main". This variable
| |
| exists only when a shell function is executing. Assignments to FUNCNAME have no effect.
| |
| If FUNCNAME is unset, it loses its special properties, even if it is subsequently reset.
| |
|
| |
|
| This variable can be used with BASH_LINENO and BASH_SOURCE. Each element of FUNCNAME has
| | === Arrays === |
| corresponding elements in BASH_LINENO and BASH_SOURCE to describe the call stack. For in‐
| | Bashには、1次元の添字配列変数と連想配列変数が用意されている。 declare組み込み関数は明示的に配列を宣言する。 配列のサイズに上限はなく、メンバにインデックスを付けたり連続的に代入したりする必要もない。 インデックス付き配列は整数(算術式を含む)で参照され、ゼロベースである。 特に断りのない限り、添字付き配列の添字は非負整数でなければならない。 |
| stance, ${FUNCNAME[$i]} was called from the file ${BASH_SOURCE[$i+1]} at line number
| |
| ${BASH_LINENO[$i]}. The caller builtin displays the current call stack using this infor‐
| |
| mation.
| |
| GROUPS An array variable containing the list of groups of which the current user is a member.
| |
| Assignments to GROUPS have no effect. If GROUPS is unset, it loses its special proper‐
| |
| ties, even if it is subsequently reset.
| |
| HISTCMD
| |
| The history number, or index in the history list, of the current command. Assignments to
| |
| HISTCMD are ignored. If HISTCMD is unset, it loses its special properties, even if it is
| |
| subsequently reset.
| |
| HOSTNAME
| |
| Automatically set to the name of the current host.
| |
| HOSTTYPE
| |
| Automatically set to a string that uniquely describes the type of machine on which bash is
| |
| executing. The default is system-dependent.
| |
| LINENO Each time this parameter is referenced, the shell substitutes a decimal number represent‐
| |
| ing the current sequential line number (starting with 1) within a script or function.
| |
| When not in a script or function, the value substituted is not guaranteed to be meaning‐
| |
| ful. If LINENO is unset, it loses its special properties, even if it is subsequently re‐
| |
| set.
| |
| MACHTYPE
| |
| Automatically set to a string that fully describes the system type on which bash is exe‐
| |
| cuting, in the standard GNU cpu-company-system format. The default is system-dependent.
| |
| MAPFILE
| |
| An array variable (see Arrays below) created to hold the text read by the mapfile builtin
| |
| when no variable name is supplied.
| |
| OLDPWD The previous working directory as set by the cd command.
| |
| OPTARG The value of the last option argument processed by the getopts builtin command (see SHELL
| |
| BUILTIN COMMANDS below).
| |
| OPTIND The index of the next argument to be processed by the getopts builtin command (see SHELL
| |
| BUILTIN COMMANDS below).
| |
| OSTYPE Automatically set to a string that describes the operating system on which bash is execut‐
| |
| ing. The default is system-dependent.
| |
| PIPESTATUS
| |
| An array variable (see Arrays below) containing a list of exit status values from the pro‐
| |
| cesses in the most-recently-executed foreground pipeline (which may contain only a single
| |
| command).
| |
| PPID The process ID of the shell's parent. This variable is readonly.
| |
| PWD The current working directory as set by the cd command.
| |
| RANDOM Each time this parameter is referenced, it expands to a random integer between 0 and
| |
| 32767. Assigning a value to RANDOM initializes (seeds) the sequence of random numbers.
| |
| If RANDOM is unset, it loses its special properties, even if it is subsequently reset.
| |
| READLINE_LINE
| |
| READLINE_MARK
| |
| The position of the mark (saved insertion point) in the readline line buffer, for use with
| |
| "bind -x" (see SHELL BUILTIN COMMANDS below). The characters between the insertion point
| |
| and the mark are often called the region.
| |
| READLINE_POINT
| |
| The position of the insertion point in the readline line buffer, for use with "bind -x"
| |
| (see SHELL BUILTIN COMMANDS below).
| |
| REPLY Set to the line of input read by the read builtin command when no arguments are supplied.
| |
| SECONDS
| |
| Each time this parameter is referenced, the number of seconds since shell invocation is
| |
| returned. If a value is assigned to SECONDS, the value returned upon subsequent refer‐
| |
| ences is the number of seconds since the assignment plus the value assigned. The number
| |
| of seconds at shell invocation and the current time is always determined by querying the
| |
| system clock. If SECONDS is unset, it loses its special properties, even if it is subse‐
| |
| quently reset.
| |
| SHELLOPTS
| |
| A colon-separated list of enabled shell options. Each word in the list is a valid argu‐
| |
| ment for the -o option to the set builtin command (see SHELL BUILTIN COMMANDS below). The
| |
| options appearing in SHELLOPTS are those reported as on by set -o. If this variable is in
| |
| the environment when bash starts up, each shell option in the list will be enabled before
| |
| reading any startup files. This variable is read-only.
| |
| SHLVL Incremented by one each time an instance of bash is started.
| |
| SRANDOM
| |
| This variable expands to a 32-bit pseudo-random number each time it is referenced. The
| |
| random number generator is not linear on systems that support /dev/urandom or arc4random,
| |
| so each returned number has no relationship to the numbers preceding it. The random num‐
| |
| ber generator cannot be seeded, so assignments to this variable have no effect. If SRAN‐
| |
| DOM is unset, it loses its special properties, even if it is subsequently reset.
| |
| UID Expands to the user ID of the current user, initialized at shell startup. This variable
| |
| is readonly.
| |
|
| |
|
| The following variables are used by the shell. In some cases, bash assigns a default value to a
| | 添え字付き配列は、<nowiki>name[subscript]=value</nowiki> という構文で変数が代入されると自動的に作成される。 subscriptは算術式として扱われ、数値として評価されなければならない。 subscriptは無視される。 |
| variable; these cases are noted below.
| |
|
| |
|
| BASH_COMPAT
| | 連想配列は declare -a name で作成される。 |
| The value is used to set the shell's compatibility level. See SHELL COMPATIBILITY MODE
| |
| below for a description of the various compatibility levels and their effects. The value
| |
| may be a decimal number (e.g., 4.2) or an integer (e.g., 42) corresponding to the desired
| |
| compatibility level. If BASH_COMPAT is unset or set to the empty string, the compatibil‐
| |
| ity level is set to the default for the current version. If BASH_COMPAT is set to a value
| |
| that is not one of the valid compatibility levels, the shell prints an error message and
| |
| sets the compatibility level to the default for the current version. The valid values
| |
| correspond to the compatibility levels described below under BSHELLCOMPATIBILITYMODE. For
| |
| example, 4.2 and 42 are valid values that correspond to the compat42 shopt option and set
| |
| the compatibility level to 42. The current version is also a valid value.
| |
| BASH_ENV
| |
| If this parameter is set when bash is executing a shell script, its value is interpreted
| |
| as a filename containing commands to initialize the shell, as in ~/.bashrc. The value of
| |
| BASH_ENV is subjected to parameter expansion, command substitution, and arithmetic expan‐
| |
| sion before being interpreted as a filename. PATH is not used to search for the resultant
| |
| filename.
| |
| BASH_XTRACEFD
| |
| If set to an integer corresponding to a valid file descriptor, bash will write the trace
| |
| output generated when set -x is enabled to that file descriptor. The file descriptor is
| |
| closed when BASH_XTRACEFD is unset or assigned a new value. Unsetting BASH_XTRACEFD or
| |
| assigning it the empty string causes the trace output to be sent to the standard error.
| |
| Note that setting BASH_XTRACEFD to 2 (the standard error file descriptor) and then unset‐
| |
| ting it will result in the standard error being closed.
| |
| CDPATH The search path for the cd command. This is a colon-separated list of directories in
| |
| which the shell looks for destination directories specified by the cd command. A sample
| |
| value is ".:~:/usr".
| |
| CHILD_MAX
| |
| Set the number of exited child status values for the shell to remember. Bash will not al‐
| |
| low this value to be decreased below a POSIX-mandated minimum, and there is a maximum
| |
| value (currently 8192) that this may not exceed. The minimum value is system-dependent.
| |
| COLUMNS
| |
| Used by the select compound command to determine the terminal width when printing selec‐
| |
| tion lists. Automatically set if the checkwinsize option is enabled or in an interactive
| |
| shell upon receipt of a SIGWINCH.
| |
| COMPREPLY
| |
| An array variable from which bash reads the possible completions generated by a shell
| |
| function invoked by the programmable completion facility (see Programmable Completion be‐
| |
| low). Each array element contains one possible completion.
| |
| EMACS If bash finds this variable in the environment when the shell starts with value "t", it
| |
| assumes that the shell is running in an Emacs shell buffer and disables line editing.
| |
| ENV Expanded and executed similarly to BASH_ENV (see INVOCATION above) when an interactive
| |
| shell is invoked in posix mode.
| |
| EXECIGNORE
| |
| A colon-separated list of shell patterns (see Pattern Matching) defining the list of file‐
| |
| names to be ignored by command search using PATH. Files whose full pathnames match one of
| |
| these patterns are not considered executable files for the purposes of completion and com‐
| |
| mand execution via PATH lookup. This does not affect the behavior of the [, test, and [[
| |
| commands. Full pathnames in the command hash table are not subject to EXECIGNORE. Use
| |
| this variable to ignore shared library files that have the executable bit set, but are not
| |
| executable files. The pattern matching honors the setting of the extglob shell option.
| |
| FCEDIT The default editor for the fc builtin command.
| |
| FIGNORE
| |
| A colon-separated list of suffixes to ignore when performing filename completion (see
| |
| READLINE below). A filename whose suffix matches one of the entries in FIGNORE is ex‐
| |
| cluded from the list of matched filenames. A sample value is ".o:~" (Quoting is needed
| |
| when assigning a value to this variable, which contains tildes).
| |
| FUNCNEST
| |
| If set to a numeric value greater than 0, defines a maximum function nesting level. Func‐
| |
| tion invocations that exceed this nesting level will cause the current command to abort.
| |
| GLOBIGNORE
| |
| A colon-separated list of patterns defining the set of file names to be ignored by path‐
| |
| name expansion. If a file name matched by a pathname expansion pattern also matches one
| |
| of the patterns in GLOBIGNORE, it is removed from the list of matches.
| |
| HISTCONTROL
| |
| A colon-separated list of values controlling how commands are saved on the history list.
| |
| If the list of values includes ignorespace, lines which begin with a space character are
| |
| not saved in the history list. A value of ignoredups causes lines matching the previous
| |
| history entry to not be saved. A value of ignoreboth is shorthand for ignorespace and ig‐
| |
| noredups. A value of erasedups causes all previous lines matching the current line to be
| |
| removed from the history list before that line is saved. Any value not in the above list
| |
| is ignored. If HISTCONTROL is unset, or does not include a valid value, all lines read by
| |
| the shell parser are saved on the history list, subject to the value of HISTIGNORE. The
| |
| second and subsequent lines of a multi-line compound command are not tested, and are added
| |
| to the history regardless of the value of HISTCONTROL.
| |
| HISTFILE
| |
| The name of the file in which command history is saved (see HISTORY below). The default
| |
| value is ~/.bash_history. If unset, the command history is not saved when a shell exits.
| |
| HISTFILESIZE
| |
| The maximum number of lines contained in the history file. When this variable is assigned
| |
| a value, the history file is truncated, if necessary, to contain no more than that number
| |
| of lines by removing the oldest entries. The history file is also truncated to this size
| |
| after writing it when a shell exits. If the value is 0, the history file is truncated to
| |
| zero size. Non-numeric values and numeric values less than zero inhibit truncation. The
| |
| shell sets the default value to the value of HISTSIZE after reading any startup files.
| |
| HISTIGNORE
| |
| A colon-separated list of patterns used to decide which command lines should be saved on
| |
| the history list. Each pattern is anchored at the beginning of the line and must match
| |
| the complete line (no implicit `*' is appended). Each pattern is tested against the line
| |
| after the checks specified by HISTCONTROL are applied. In addition to the normal shell
| |
| pattern matching characters, `&' matches the previous history line. `&' may be escaped
| |
| using a backslash; the backslash is removed before attempting a match. The second and
| |
| subsequent lines of a multi-line compound command are not tested, and are added to the
| |
| history regardless of the value of HISTIGNORE. The pattern matching honors the setting of
| |
| the extglob shell option.
| |
| HISTSIZE
| |
| The number of commands to remember in the command history (see HISTORY below). If the
| |
| value is 0, commands are not saved in the history list. Numeric values less than zero re‐
| |
| sult in every command being saved on the history list (there is no limit). The shell sets
| |
| the default value to 500 after reading any startup files.
| |
| HISTTIMEFORMAT
| |
| If this variable is set and not null, its value is used as a format string for strftime(3)
| |
| to print the time stamp associated with each history entry displayed by the history
| |
| builtin. If this variable is set, time stamps are written to the history file so they may
| |
| be preserved across shell sessions. This uses the history comment character to distin‐
| |
| guish timestamps from other history lines.
| |
| HOME The home directory of the current user; the default argument for the cd builtin command.
| |
| The value of this variable is also used when performing tilde expansion.
| |
| HOSTFILE
| |
| Contains the name of a file in the same format as /etc/hosts that should be read when the
| |
| shell needs to complete a hostname. The list of possible hostname completions may be
| |
| changed while the shell is running; the next time hostname completion is attempted after
| |
| the value is changed, bash adds the contents of the new file to the existing list. If
| |
| HOSTFILE is set, but has no value, or does not name a readable file, bash attempts to read
| |
| /etc/hosts to obtain the list of possible hostname completions. When HOSTFILE is unset,
| |
| the hostname list is cleared.
| |
| IFS The Internal Field Separator that is used for word splitting after expansion and to split
| |
| lines into words with the read builtin command. The default value is ``<space><tab><new‐
| |
| line>''.
| |
| IGNOREEOF
| |
| Controls the action of an interactive shell on receipt of an EOF character as the sole in‐
| |
| put. If set, the value is the number of consecutive EOF characters which must be typed as
| |
| the first characters on an input line before bash exits. If the variable exists but does
| |
| not have a numeric value, or has no value, the default value is 10. If it does not exist,
| |
| EOF signifies the end of input to the shell.
| |
| INPUTRC
| |
| The filename for the readline startup file, overriding the default of ~/.inputrc (see
| |
| READLINE below).
| |
| INSIDE_EMACS
| |
| If this variable appears in the environment when the shell starts, bash assumes that it is
| |
| running inside an Emacs shell buffer and may disable line editing, depending on the value
| |
| of TERM.
| |
| LANG Used to determine the locale category for any category not specifically selected with a
| |
| variable starting with LC_.
| |
| LC_ALL This variable overrides the value of LANG and any other LC_ variable specifying a locale
| |
| category.
| |
| LC_COLLATE
| |
| This variable determines the collation order used when sorting the results of pathname ex‐
| |
| pansion, and determines the behavior of range expressions, equivalence classes, and col‐
| |
| lating sequences within pathname expansion and pattern matching.
| |
| LC_CTYPE
| |
| This variable determines the interpretation of characters and the behavior of character
| |
| classes within pathname expansion and pattern matching.
| |
| LC_MESSAGES
| |
| This variable determines the locale used to translate double-quoted strings preceded by a
| |
| $.
| |
| LC_NUMERIC
| |
| This variable determines the locale category used for number formatting.
| |
| LC_TIME
| |
| This variable determines the locale category used for data and time formatting.
| |
| LINES Used by the select compound command to determine the column length for printing selection
| |
| lists. Automatically set if the checkwinsize option is enabled or in an interactive shell
| |
| upon receipt of a SIGWINCH.
| |
| MAIL If this parameter is set to a file or directory name and the MAILPATH variable is not set,
| |
| bash informs the user of the arrival of mail in the specified file or Maildir-format di‐
| |
| rectory.
| |
| MAILCHECK
| |
| Specifies how often (in seconds) bash checks for mail. The default is 60 seconds. When
| |
| it is time to check for mail, the shell does so before displaying the primary prompt. If
| |
| this variable is unset, or set to a value that is not a number greater than or equal to
| |
| zero, the shell disables mail checking.
| |
| MAILPATH
| |
| A colon-separated list of filenames to be checked for mail. The message to be printed
| |
| when mail arrives in a particular file may be specified by separating the filename from
| |
| the message with a `?'. When used in the text of the message, $_ expands to the name of
| |
| the current mailfile. Example:
| |
| MAILPATH='/var/mail/bfox?"You have mail":~/shell-mail?"$_ has mail!"'
| |
| Bash can be configured to supply a default value for this variable (there is no value by
| |
| default), but the location of the user mail files that it uses is system dependent (e.g.,
| |
| /var/mail/$USER).
| |
| OPTERR If set to the value 1, bash displays error messages generated by the getopts builtin com‐
| |
| mand (see SHELL BUILTIN COMMANDS below). OPTERR is initialized to 1 each time the shell
| |
| is invoked or a shell script is executed.
| |
| PATH The search path for commands. It is a colon-separated list of directories in which the
| |
| shell looks for commands (see COMMAND EXECUTION below). A zero-length (null) directory
| |
| name in the value of PATH indicates the current directory. A null directory name may ap‐
| |
| pear as two adjacent colons, or as an initial or trailing colon. The default path is sys‐
| |
| tem-dependent, and is set by the administrator who installs bash. A common value is
| |
| ``/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin''.
| |
| POSIXLY_CORRECT
| |
| If this variable is in the environment when bash starts, the shell enters posix mode be‐
| |
| fore reading the startup files, as if the --posix invocation option had been supplied. If
| |
| it is set while the shell is running, bash enables posix mode, as if the command set -o
| |
| posix had been executed. When the shell enters posix mode, it sets this variable if it
| |
| was not already set.
| |
| PROMPT_COMMAND
| |
| If this variable is set, and is an array, the value of each set element is executed as a
| |
| command prior to issuing each primary prompt. If this is set but not an array variable,
| |
| its value is used as a command to execute instead.
| |
| PROMPT_DIRTRIM
| |
| If set to a number greater than zero, the value is used as the number of trailing direc‐
| |
| tory components to retain when expanding the \w and \W prompt string escapes (see PROMPT‐
| |
| ING below). Characters removed are replaced with an ellipsis.
| |
| PS0 The value of this parameter is expanded (see PROMPTING below) and displayed by interactive
| |
| shells after reading a command and before the command is executed.
| |
| PS1 The value of this parameter is expanded (see PROMPTING below) and used as the primary
| |
| prompt string. The default value is ``\s-\v\$ ''.
| |
| PS2 The value of this parameter is expanded as with PS1 and used as the secondary prompt
| |
| string. The default is ``> ''.
| |
| PS3 The value of this parameter is used as the prompt for the select command (see SHELL GRAM‐
| |
| MAR above).
| |
| PS4 The value of this parameter is expanded as with PS1 and the value is printed before each
| |
| command bash displays during an execution trace. The first character of the expanded
| |
| value of PS4 is replicated multiple times, as necessary, to indicate multiple levels of
| |
| indirection. The default is ``+ ''.
| |
| SHELL This variable expands to the full pathname to the shell. If it is not set when the shell
| |
| starts, bash assigns to it the full pathname of the current user's login shell.
| |
| TIMEFORMAT
| |
| The value of this parameter is used as a format string specifying how the timing informa‐
| |
| tion for pipelines prefixed with the time reserved word should be displayed. The % char‐
| |
| acter introduces an escape sequence that is expanded to a time value or other information.
| |
| The escape sequences and their meanings are as follows; the braces denote optional por‐
| |
| tions.
| |
| %% A literal %.
| |
| %[p][l]R The elapsed time in seconds.
| |
| %[p][l]U The number of CPU seconds spent in user mode.
| |
| %[p][l]S The number of CPU seconds spent in system mode.
| |
| %P The CPU percentage, computed as (%U + %S) / %R.
| |
|
| |
|
| The optional p is a digit specifying the precision, the number of fractional digits after
| | 属性は、declare および readonly ビルトインを使用して配列変数に指定することができる。 各属性は、配列のすべてのメンバに適用される。 |
| a decimal point. A value of 0 causes no decimal point or fraction to be output. At most
| |
| three places after the decimal point may be specified; values of p greater than 3 are
| |
| changed to 3. If p is not specified, the value 3 is used.
| |
|
| |
|
| The optional l specifies a longer format, including minutes, of the form MMmSS.FFs. The
| | 配列の代入には、<nowiki>name=(value1 ... valuen)</nowiki>という形式の複合代入を使用する。 インデックス付き配列の代入では、文字列以外は必要ない。 リストの各値は、後述の [[#EXPANSION|EXPANSION ]] で説明するすべてのシェル展開を使って展開される。 subscript付き配列に代入する場合、オプションの括弧と添え字が指定されていれば、そのsubscriptが代入され、そうでなければ、代入される要素の添字は、文によって最後に代入されたsubscriptに1を加えたものになる。 インデックス付けはゼロから始まる。 |
| value of p determines whether or not the fraction is included.
| |
|
| |
|
| If this variable is not set, bash acts as if it had the value
| | 連想配列に代入する場合、複合代入の単語は、subscriptが必要な代入文か、キーと値を交互に並べたものとして解釈される単語のリスト、<nowiki>name=( key1 value1 key2 value2 ...)</nowiki> のいずれかになる。 これらは、<nowiki>name=( [key1]=value1 [key2]=value2 ...)</nowiki> と同様に扱われる。 リスト内のすべての代入は同じ型でなければならない。 |
| $'\nreal\t%3lR\nuser\t%3lU\nsys\t%3lS'. If the value is null, no timing information is
| | キーと値のペアを使う場合、キーがなかったり空だったりしてはならない。 |
| displayed. A trailing newline is added when the format string is displayed.
| |
| TMOUT If set to a value greater than zero, TMOUT is treated as the default timeout for the read
| |
| builtin. The select command terminates if input does not arrive after TMOUT seconds when
| |
| input is coming from a terminal. In an interactive shell, the value is interpreted as the
| |
| number of seconds to wait for a line of input after issuing the primary prompt. Bash ter‐
| |
| minates after waiting for that number of seconds if a complete line of input does not ar‐
| |
| rive.
| |
| TMPDIR If set, bash uses its value as the name of a directory in which bash creates temporary
| |
| files for the shell's use.
| |
| auto_resume
| |
| This variable controls how the shell interacts with the user and job control. If this
| |
| variable is set, single word simple commands without redirections are treated as candi‐
| |
| dates for resumption of an existing stopped job. There is no ambiguity allowed; if there
| |
| is more than one job beginning with the string typed, the job most recently accessed is
| |
| selected. The name of a stopped job, in this context, is the command line used to start
| |
| it. If set to the value exact, the string supplied must match the name of a stopped job
| |
| exactly; if set to substring, the string supplied needs to match a substring of the name
| |
| of a stopped job. The substring value provides functionality analogous to the %? job
| |
| identifier (see JOB CONTROL below). If set to any other value, the supplied string must
| |
| be a prefix of a stopped job's name; this provides functionality analogous to the %string
| |
| job identifier.
| |
| histchars
| |
| The two or three characters which control history expansion and tokenization (see HISTORY
| |
| EXPANSION below). The first character is the history expansion character, the character
| |
| which signals the start of a history expansion, normally `!'. The second character is the
| |
| quick substitution character, which is used as shorthand for re-running the previous com‐
| |
| mand entered, substituting one string for another in the command. The default is `^'.
| |
| The optional third character is the character which indicates that the remainder of the
| |
| line is a comment when found as the first character of a word, normally `#'. The history
| |
| comment character causes history substitution to be skipped for the remaining words on the
| |
| line. It does not necessarily cause the shell parser to treat the rest of the line as a
| |
| comment.
| |
|
| |
|
| Arrays
| | この構文はdeclare組み込み関数でも受け入れられる。 個々の配列要素には、上で紹介した <nowiki>name[subscript]=value</nowiki> 構文を使用して代入することができる。 subscript付き配列に代入する場合、name に負の数がsubscriptとして付くと、その数は name の最大subscriptより相対的に 1 大きいと解釈されるため、負のsubscriptは配列の末尾から数えていき、-1 のsubscriptは最後の要素を参照する。 |
| Bash provides one-dimensional indexed and associative array variables. Any variable may be used
| |
| as an indexed array; the declare builtin will explicitly declare an array. There is no maximum
| |
| limit on the size of an array, nor any requirement that members be indexed or assigned contigu‐
| |
| ously. Indexed arrays are referenced using integers (including arithmetic expressions) and are
| |
| zero-based; associative arrays are referenced using arbitrary strings. Unless otherwise noted,
| |
| indexed array indices must be non-negative integers.
| |
|
| |
|
| An indexed array is created automatically if any variable is assigned to using the syntax
| | 配列のどの要素も、<nowiki>${name[subscript]}</nowiki>を使って参照できる。 中括弧は、パス名展開との衝突を避けるために必要である。 subscriptが @ または * の場合、その単語は name のすべてのメンバに展開される。 これらのsubscriptは、単語が二重引用符で囲まれている場合のみ異なる。 単語が二重引用符で囲まれている場合、<nowiki>${name[*]}</nowiki> は各配列メンバの値を IFS 特殊変数の最初の文字で区切った 1 つの単語に展開され、<nowiki>${name[@]}</nowiki> は name の各要素を個別の単語に展開する。 配列メンバがない場合、<nowiki>${name[@]}</nowiki>は何も展開しない。 二重引用符による展開が単語内で行われる場合、最初のパラメータの展開は元の単語の先頭部分と結合され、最後のパラメータの展開は元の単語の最後の部分と結合される。 これは、特殊パラメータ*と@(上記の[[#Special Parameters|Special Parameters ]]を参照)の展開に類似している。 の長さに展開される。 subscriptが * または @ の場合、展開されるのは配列の要素数である。 インデックス付き配列の要素を参照するために使用される添え字がゼロより小さい数として評価される場合、それは配列の最大インデックスより1つ大きいものに対する相対的なものとして解釈されるので、負のインデックスは配列の終わりからカウントバックし、-1のインデックスは最後の要素を参照する。 |
| name[subscript]=value. The subscript is treated as an arithmetic expression that must evaluate
| |
| to a number. To explicitly declare an indexed array, use declare -a name (see SHELL BUILTIN COM‐
| |
| MANDS below). declare -a name[subscript] is also accepted; the subscript is ignored.
| |
|
| |
|
| Associative arrays are created using declare -A name.
| | subscriptなしで配列変数を参照することは、subscript 0の配列を参照することと同じである。 |
|
| |
|
| Attributes may be specified for an array variable using the declare and readonly builtins. Each
| | subscriptに値が割り当てられている場合、配列変数は設定されていると見なされる。 NULL文字列は有効な値である。 |
| attribute applies to all members of an array.
| |
|
| |
|
| Arrays are assigned to using compound assignments of the form name=(value1 ... valuen), where
| | 配列のキー(subscript)は、値と同様に取得できる。 <nowiki>${!name[@]} </nowiki>と<nowiki>${!name[*]}</nowiki>は、配列変数名に代入されたsubscriptに展開される。 二重引用符で囲んだ場合の扱いは、二重引用符で囲んだ場合の特殊パラメータ @ と * の展開と同様である。 |
| each value may be of the form [subscript]=string. Indexed array assignments do not require any‐
| |
| thing but string. Each value in the list is expanded using all the shell expansions described
| |
| below under EXPANSION. When assigning to indexed arrays, if the optional brackets and subscript
| |
| are supplied, that index is assigned to; otherwise the index of the element assigned is the last
| |
| index assigned to by the statement plus one. Indexing starts at zero.
| |
|
| |
|
| When assigning to an associative array, the words in a compound assignment may be either assign‐
| | <nowiki>unsetname[subscript]</nowiki>は、添え字の添え字にある配列要素を破棄する。 インデックス付き配列の負の添え字は、前述のように解釈される。 配列変数の最後の要素をアンセットしても、変数はアンセットされない。name が配列の場合は name をアンセットし、添え字が * または @ の場合は <nowiki>name[subscript]</nowiki> をアンセットすると、配列全体が削除される。 |
| ment statements, for which the subscript is required, or a list of words that is interpreted as a
| |
| sequence of alternating keys and values: name=( key1 value1 key2 value2 ...). These are treated
| |
| identically to name=( [key1]=value1 [key2]=value2 ...). The first word in the list determines
| |
| how the remaining words are interpreted; all assignments in a list must be of the same type.
| |
| When using key/value pairs, the keys may not be missing or empty; a final missing value is
| |
| treated like the empty string.
| |
|
| |
|
| This syntax is also accepted by the declare builtin. Individual array elements may be assigned
| | unsetのように、subscript付きの変数名をコマンドの引数として使用する場合、上記の単語展開構文を使用しないと、引数はパス名展開の対象となる。 パス名展開を望まない場合は、引数を引用符で囲む必要がある。 |
| to using the name[subscript]=value syntax introduced above. When assigning to an indexed array,
| |
| if name is subscripted by a negative number, that number is interpreted as relative to one
| |
| greater than the maximum index of name, so negative indices count back from the end of the array,
| |
| and an index of -1 references the last element.
| |
|
| |
|
| Any element of an array may be referenced using ${name[subscript]}. The braces are required to
| | declare、local、readonlyの各ビルトインは、インデックス配列を指定する -aオプションと、連想配列を指定する -Aオプションを受け付ける。 両方のオプションが指定された場合は、-A が優先される。 |
| avoid conflicts with pathname expansion. If subscript is @ or *, the word expands to all members
| | read 組み込み関数には、標準入力から読み込んだ単語のリストを配列に代入する -a オプションが指定できる。 set および declare 組み込み関数は、配列の値を代入として再利用できるように表示する。 |
| of name. These subscripts differ only when the word appears within double quotes. If the word
| |
| is double-quoted, ${name[*]} expands to a single word with the value of each array member sepa‐
| |
| rated by the first character of the IFS special variable, and ${name[@]} expands each element of
| |
| name to a separate word. When there are no array members, ${name[@]} expands to nothing. If the
| |
| double-quoted expansion occurs within a word, the expansion of the first parameter is joined with
| |
| the beginning part of the original word, and the expansion of the last parameter is joined with
| |
| the last part of the original word. This is analogous to the expansion of the special parameters
| |
| * and @ (see Special Parameters above). ${#name[subscript]} expands to the length of ${name[sub‐
| |
| script]}. If subscript is * or @, the expansion is the number of elements in the array. If the
| |
| subscript used to reference an element of an indexed array evaluates to a number less than zero,
| |
| it is interpreted as relative to one greater than the maximum index of the array, so negative in‐
| |
| dices count back from the end of the array, and an index of -1 references the last element.
| |
|
| |
|
| Referencing an array variable without a subscript is equivalent to referencing the array with a
| | == EXPANSION == |
| subscript of 0. Any reference to a variable using a valid subscript is legal, and bash will cre‐
| | 拡張は、コマンドラインを単語に分割した後に実行される。 ブレース展開、チルダ展開、パラメータと変数の展開、コマンド置換、算術展開、単語分割、パス名展開の7種類の展開が行われる。 |
| ate an array if necessary.
| |
|
| |
|
| An array variable is considered set if a subscript has been assigned a value. The null string is
| | 展開の順序は、波括弧展開、チルダ展開、パラメータと変数の展開、算術展開、コマンドの置換(左から右へ行う)、単語の分割、パス名の展開である。 |
| a valid value.
| |
|
| |
|
| It is possible to obtain the keys (indices) of an array as well as the values. ${!name[@]} and
| | これをサポートするシステムでは、さらにプロセス置換という拡張が利用できる。これは、チルダ、パラメータ、変数、算術展開、コマンド置換と同時に実行される。 |
| ${!name[*]} expand to the indices assigned in array variable name. The treatment when in double
| |
| quotes is similar to the expansion of the special parameters @ and * within double quotes.
| |
|
| |
|
| The unset builtin is used to destroy arrays. unset name[subscript] destroys the array element at
| | これらの拡張が実行された後、元の単語に存在する引用符文字は、それ自体が引用符で囲まれていない限り削除される(引用符除去)。 |
| index subscript, for both indexed and associative arrays. Negative subscripts to indexed arrays
| |
| are interpreted as described above. Unsetting the last element of an array variable does not un‐
| |
| set the variable. unset name, where name is an array, or unset name[subscript], where subscript
| |
| is * or @, removes the entire array.
| |
|
| |
|
| When using a variable name with a subscript as an argument to a command, such as with unset,
| | ブレース展開、単語分割、パス名展開だけが展開の単語数を増やすことができ、他の展開は1つの単語を1つの単語に展開する。 唯一の例外は、<nowiki>"$@"</nowiki>と<nowiki>"${name[@]}"</nowiki>の展開、そしてほとんどの場合、上で説明した$*と<nowiki>${name[*]}</nowiki>の展開である([[#PARAMETERS|PARAMETERS ]]を参照)。 |
| without using the word expansion syntax described above, the argument is subject to pathname ex‐
| |
| pansion. If pathname expansion is not desired, the argument should be quoted.
| |
|
| |
|
| The declare, local, and readonly builtins each accept a -a option to specify an indexed array and
| | === Brace Expansion === |
| a -A option to specify an associative array. If both options are supplied, -A takes precedence.
| | ブレース展開とは、任意の文字列を生成する仕組みである。 この仕組みはパス名展開と似ているが、生成されるファイル名は存在する必要はない。 ブレース展開されるパターンは、オプションのプリアンブルの後に、カンマで区切られた一連の文字列か、中括弧の間のシーケンス式が続き、その後にオプションの追記が続くという形式をとる。プリアンブルは、中括弧内に含まれる各文字列の先頭に付加され、その後、左から右に展開されながら、結果の各文字列に追記される。 |
| The read builtin accepts a -a option to assign a list of words read from the standard input to an
| |
| array. The set and declare builtins display array values in a way that allows them to be reused
| |
| as assignments.
| |
|
| |
|
| EXPANSION
| | 中括弧の展開は入れ子にすることができる。 各展開文字列の結果はソートされない。 例えば、<nowiki>a{d,c,b}e</nowiki>は`ade ace abe'に展開される。 |
| Expansion is performed on the command line after it has been split into words. There are seven
| |
| kinds of expansion performed: brace expansion, tilde expansion, parameter and variable expansion,
| |
| command substitution, arithmetic expansion, word splitting, and pathname expansion.
| |
|
| |
|
| The order of expansions is: brace expansion; tilde expansion, parameter and variable expansion,
| | シーケンス式は<nowiki>{x..y[..incr]}</nowiki>の形式をとり、xとyは整数または1文字、incrはオプションのインクリメントで整数である。 整数が与えられると、式はxとyの間の各数値に展開される。 各項が同じ幅になるように、整数の前に0を置くことができる。 xまたはyのどちらかが0から始まる場合、シェルは生成されるすべての項に同じ桁数を含ませようとし、必要な場合はゼロパディングを行う。 文字が指定された場合、式はデフォルトのCロケールを使用して、xとyの間で辞書式に各文字に展開される。 xとyは同じ型でなければならないことに注意。 インクリメントを指定すると、各項の差として使用される。 デフォルトの増分は1または-1である。 |
| arithmetic expansion, and command substitution (done in a left-to-right fashion); word splitting;
| |
| and pathname expansion.
| |
|
| |
|
| On systems that can support it, there is an additional expansion available: process substitution.
| | ブレイス展開は、他の展開の前に実行され、他の展開で特殊な文字は結果に保存される。 これは厳密にテキスト的である。 Bashは、展開の文脈や中括弧間のテキストに構文解釈を適用しない。 |
| This is performed at the same time as tilde, parameter, variable, and arithmetic expansion and
| |
| command substitution.
| |
|
| |
|
| After these expansions are performed, quote characters present in the original word are removed
| | 正しく形成された中括弧展開は、引用符で囲まれていない開中括弧と閉中括弧、そして少なくとも1つの引用符で囲まれていないカンマ、または有効なシーケンス式を含んでいなければならない。 正しく形成されていない中括弧展開は、そのまま残される。 または,は、ブレース表現の一部とみなされないようにバックスラッシュで囲むことができる。 パラメータ展開との衝突を避けるため、文字列${は波括弧展開の対象とはみなされず、 }を閉じるまで波括弧展開を禁止する。 |
| unless they have been quoted themselves (quote removal).
| |
|
| |
|
| Only brace expansion, word splitting, and pathname expansion can increase the number of words of
| | この構文は、生成する文字列の共通接頭辞が上記の例よりも長い場合に、通常省略記法として使用される: |
| the expansion; other expansions expand a single word to a single word. The only exceptions to
| |
| this are the expansions of "$@" and "${name[@]}", and, in most cases, $* and ${name[*]} as ex‐
| |
| plained above (see PARAMETERS).
| |
|
| |
|
| Brace Expansion
| | <code>mkdir /usr/local/src/bash/{old,new,dist,bugs}</code> |
| Brace expansion is a mechanism by which arbitrary strings may be generated. This mechanism is
| |
| similar to pathname expansion, but the filenames generated need not exist. Patterns to be brace
| |
| expanded take the form of an optional preamble, followed by either a series of comma-separated
| |
| strings or a sequence expression between a pair of braces, followed by an optional postscript.
| |
| The preamble is prefixed to each string contained within the braces, and the postscript is then
| |
| appended to each resulting string, expanding left to right.
| |
|
| |
|
| Brace expansions may be nested. The results of each expanded string are not sorted; left to
| | or |
| right order is preserved. For example, a{d,c,b}e expands into `ade ace abe'.
| |
|
| |
|
| A sequence expression takes the form {x..y[..incr]}, where x and y are either integers or single
| | <code>chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}</code> |
| characters, and incr, an optional increment, is an integer. When integers are supplied, the ex‐
| |
| pression expands to each number between x and y, inclusive. Supplied integers may be prefixed
| |
| with 0 to force each term to have the same width. When either x or y begins with a zero, the
| |
| shell attempts to force all generated terms to contain the same number of digits, zero-padding
| |
| where necessary. When characters are supplied, the expression expands to each character lexico‐
| |
| graphically between x and y, inclusive, using the default C locale. Note that both x and y must
| |
| be of the same type. When the increment is supplied, it is used as the difference between each
| |
| term. The default increment is 1 or -1 as appropriate.
| |
|
| |
|
| Brace expansion is performed before any other expansions, and any characters special to other ex‐
| | 中括弧の拡張は、歴史的なバージョンのshと若干の非互換性をもたらす。shは、中括弧が単語の一部として現れる場合、開閉中括弧を特別に扱わず、出力に中括弧を保持する。 Bashは、中括弧展開の結果として、単語から中括弧を削除する。 例えば、<nowiki>file{1,2}</nowiki>としてshに入力された単語は、出力では同じように表示される。 同じ単語がbashによって展開された後、file1 file2として出力される。 shと厳密な互換性を保ちたい場合は、bashを+Bオプションで起動するか、setコマンドの+Bオプションで中括弧の展開を無効にする(後述の[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]を参照)。 |
| pansions are preserved in the result. It is strictly textual. Bash does not apply any syntactic
| |
| interpretation to the context of the expansion or the text between the braces.
| |
|
| |
|
| A correctly-formed brace expansion must contain unquoted opening and closing braces, and at least
| | === Tilde Expansion === |
| one unquoted comma or a valid sequence expression. Any incorrectly formed brace expansion is
| | 単語が引用符で囲まれていないチルダ文字(`~')で始まる場合、最初の引用符で囲まれていないスラッシュに先行するすべての文字(引用符で囲まれていないスラッシュがない場合はすべての文字)がチルダ接頭辞とみなされる。 チルダ接頭辞内の文字がどれも引用符で囲まれていない場合、チルダに続くチルダ接頭辞内の文字は、ログイン名として扱われる。 このログイン名がnull |
| left unchanged. A { or , may be quoted with a backslash to prevent its being considered part of
| | 文字列の場合、チルダはシェル・パラメータ'''HOME'''の値に置き換えられる。 '''HOME'''が未設定の場合、シェルを実行しているユーザーのホームディレクトリが代わりに置換される。 そうでない場合、チルダ接頭辞は、指定されたログイン名に関連付けられたホームディレクトリに置き換えられる。 |
| a brace expression. To avoid conflicts with parameter expansion, the string ${ is not considered
| |
| eligible for brace expansion, and inhibits brace expansion until the closing }.
| |
|
| |
|
| This construct is typically used as shorthand when the common prefix of the strings to be gener‐
| | tilde-prefix が `~+' の場合、シェル変数 PWD の値が tilde-prefix を置き換える。 チルダ接頭辞が `~-' の場合、シェル変数 '''OLDPWD''' が設定されていれば、その値が置き換えられる。tilde-prefixのチルダに続く文字が数字Nで、オプションで先頭に `+' または `-' が付く場合、tilde-prefixはディレクトリスタックの対応する要素に置き換えられる。 tilde-prefixのチルダに続く文字が、先頭に `+' または `-' を含まない数字で構成されている場合、 `+' が仮定される。 |
| ated is longer than in the above example:
| |
|
| |
|
| mkdir /usr/local/src/bash/{old,new,dist,bugs}
| | ログイン名が無効であるか、チルダ展開に失敗した場合、その単語は変更されない。 |
| or
| |
| chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
| |
|
| |
|
| Brace expansion introduces a slight incompatibility with historical versions of sh. sh does not
| | 各変数の代入では、:または最初の=の直後に引用符で囲まれていないチルダ接頭辞があるかどうかがチェックされる。 その結果、'''PATH'''、'''MAILPATH'''、'''CDPATH'''への代入でチルダ付きのファイル名を使用することができ、シェルは展開された値を代入する。 |
| treat opening or closing braces specially when they appear as part of a word, and preserves them
| |
| in the output. Bash removes braces from words as a consequence of brace expansion. For example,
| |
| a word entered to sh as file{1,2} appears identically in the output. The same word is output as
| |
| file1 file2 after expansion by bash. If strict compatibility with sh is desired, start bash with
| |
| the +B option or disable brace expansion with the +B option to the set command (see SHELL BUILTIN
| |
| COMMANDS below).
| |
|
| |
|
| Tilde Expansion
| | Bashは、変数代入の条件を満たす単語が単純なコマンドの引数として現れた場合(上記の[[#PARAMETERS|PARAMETERS ]]で説明したとおり)にもチルダ展開を行う。 posixモードでは、上記の宣言コマンドを除き、Bashはこの処理を行わない。 |
| If a word begins with an unquoted tilde character (`~'), all of the characters preceding the
| |
| first unquoted slash (or all characters, if there is no unquoted slash) are considered a tilde-
| |
| prefix. If none of the characters in the tilde-prefix are quoted, the characters in the tilde-
| |
| prefix following the tilde are treated as a possible login name. If this login name is the null
| |
| string, the tilde is replaced with the value of the shell parameter HOME. If HOME is unset, the
| |
| home directory of the user executing the shell is substituted instead. Otherwise, the tilde-pre‐
| |
| fix is replaced with the home directory associated with the specified login name.
| |
|
| |
|
| If the tilde-prefix is a `~+', the value of the shell variable PWD replaces the tilde-prefix. If
| | === Parameter Expansion === |
| the tilde-prefix is a `~-', the value of the shell variable OLDPWD, if it is set, is substituted.
| | 文字でパラメータ展開、コマンド置換、算術展開を行う。 |
| If the characters following the tilde in the tilde-prefix consist of a number N, optionally pre‐
| | 中括弧はオプションであるが、展開される変数を、名前の一部と解釈される可能性のある直後の文字から保護する役割を果たす。 |
| fixed by a `+' or a `-', the tilde-prefix is replaced with the corresponding element from the di‐
| |
| rectory stack, as it would be displayed by the dirs builtin invoked with the tilde-prefix as an
| |
| argument. If the characters following the tilde in the tilde-prefix consist of a number without
| |
| a leading `+' or `-', `+' is assumed.
| |
|
| |
|
| If the login name is invalid, or the tilde expansion fails, the word is unchanged.
| | 中括弧が使われる場合、マッチする終端中括弧は、バックスラッシュでエスケープされていない最初の<nowiki>`}'</nowiki>であり、引用符で囲まれた文字列内でも、埋め込まれた算術展開、コマンド置換、パラメータ展開内でもない。 |
|
| |
|
| Each variable assignment is checked for unquoted tilde-prefixes immediately following a : or the
| | :<nowiki>${parameter}</nowiki> |
| first =. In these cases, tilde expansion is also performed. Consequently, one may use filenames
| | ::パラメータの値が置き換えられる。 中括弧が必要なのは、パラメータが1桁以上の位置パラメータである場合、またはパラメータの後に名前の一部として解釈されない文字が続く場合である。 パラメータは、前述の[[#PARAMETERS|PARAMETERS ]])または配列参照(Arrays)のシェル・パラメータである。 |
| with tildes in assignments to PATH, MAILPATH, and CDPATH, and the shell assigns the expanded
| |
| value.
| |
|
| |
|
| Bash also performs tilde expansion on words satisfying the conditions of variable assignments (as
| | パラメータの最初の文字が感嘆符(!)であり、パラメータがnamerefでない場合、間接参照レベルが導入される。 Bashは、パラメータの残りの部分を展開してできた値を新しいパラメータとして使用する。その後、この値が展開され、元のパラメータの展開ではなく、残りの展開で使用される。 これは間接展開として知られている。 |
| described above under PARAMETERS) when they appear as arguments to simple commands. Bash does
| | この値は、チルダ展開、パラメータ展開、コマンド置換、算術展開の対象となる。 parameterがnamerefの場合、完全な間接展開ではなく、parameterによって参照されるパラメーターの名前に展開される。 例外は、後述の<nowiki>${!prefix*}</nowiki>と<nowiki>${!name[@]}</nowiki>の展開である。 感嘆符は、間接展開を行うために左中括弧の直後に置かなければならない。 |
| not do this, except for the declaration commands listed above, when in posix mode.
| |
|
| |
|
| Parameter Expansion
| | 以下の各ケースにおいて、wordはチルダ展開、パラメータ展開、コマンド置換、算術展開の対象となる。 |
| The `$' character introduces parameter expansion, command substitution, or arithmetic expansion.
| |
| The parameter name or symbol to be expanded may be enclosed in braces, which are optional but
| |
| serve to protect the variable to be expanded from characters immediately following it which could
| |
| be interpreted as part of the name.
| |
|
| |
|
| When braces are used, the matching ending brace is the first `}' not escaped by a backslash or
| | 部分文字列の展開を行わない場合、bashは以下で説明する形式(例::-)で、未設定またはNULLのパラメータをテストする。 コロンを省略すると、未設定のパラメータのみをテストすることになる。 |
| within a quoted string, and not within an embedded arithmetic expansion, command substitution, or
| |
| parameter expansion.
| |
|
| |
|
| ${parameter}
| | :<nowiki>${parameter:-word}</nowiki> |
| The value of parameter is substituted. The braces are required when parameter is a posi‐
| | ::デフォルト値を使用する。 パラメータが未設定またはNULLの場合、wordの展開が代入される。それ以外の場合は、パラメータの値が代入される。 |
| tional parameter with more than one digit, or when parameter is followed by a character
| | :<nowiki>${parameter:=word}</nowiki> |
| which is not to be interpreted as part of its name. The parameter is a shell parameter as
| | ::デフォルト値を割り当てる。 パラメータが未設定または NULL の場合、word の展開がパラメータに代入される。 その後、パラメータの値が代入される。 位置パラメーターと特殊パラメーターは、この方法では代入できない。 |
| described above PARAMETERS) or an array reference (Arrays).
| | :<nowiki>${parameter:?word}</nowiki> |
| | ::Nullまたは未設定の場合、エラーを表示する。 パラメータがNULLまたは未設定の場合、wordの展開(wordが存在しない場合はその旨のメッセージ)が標準エラーに書き込まれ、シェルが対話型でない場合は終了する。 そうでなければ、パラメータの値が代入される。 |
| | :<nowiki>${parameter:+word}</nowiki> |
| | ::代替値を使用する。 パラメータがNULLまたは未設定の場合、何も代入されない。 |
| | :<nowiki>${parameter:offset}</nowiki> |
| | :<nowiki>${parameter:offset:length}</nowiki> |
| | ::サブストリング展開。 offsetで指定した文字から、パラメータ値の長さ分まで展開する。 パラメータが @ または * 添え字付き添字配列、連想配列名の場合、結果は以下のように異なる。 lengthが省略された場合、offsetで指定された文字から始まり、値の終わりまで続くパラメータ値の部分文字列に展開される。lengthとoffsetは算術式である(以下の[[#ARITHMETIC EVALUATION|ARITHMETIC EVALUATION ]]を参照)。 |
|
| |
|
| If the first character of parameter is an exclamation point (!), and parameter is not a nameref,
| | ::offsetが0より小さい数値と評価された場合、その値はパラメータ値の最後からの文字数分のオフセットとして使用される。 lengthが0より小さい数値と評価された場合、それは文字数ではなく、パラメータ値の最後からの文字数のオフセットとして解釈され、拡張はoffsetとその結果の間の文字となる。 負のオフセットは、:-展開と混同しないように、コロンから少なくとも1つのスペースで区切らなければならないことに注意。 |
| it introduces a level of indirection. Bash uses the value formed by expanding the rest of param‐
| |
| eter as the new parameter; this is then expanded and that value is used in the rest of the expan‐
| |
| sion, rather than the expansion of the original parameter. This is known as indirect expansion.
| |
| The value is subject to tilde expansion, parameter expansion, command substitution, and arith‐
| |
| metic expansion. If parameter is a nameref, this expands to the name of the parameter referenced
| |
| by parameter instead of performing the complete indirect expansion. The exceptions to this are
| |
| the expansions of ${!prefix*} and ${!name[@]} described below. The exclamation point must imme‐
| |
| diately follow the left brace in order to introduce indirection.
| |
|
| |
|
| In each of the cases below, word is subject to tilde expansion, parameter expansion, command sub‐
| | ::パラメータが@の場合、結果はoffsetから始まる長さの位置パラメータとなる。 負のオフセットは、最大の位置パラメーターよりも相対的に1大きい値として扱われるので、-1のオフセットは最後の位置パラメーターとして評価される。 lengthが0より小さい数に評価されると、展開エラーとなる。 |
| stitution, and arithmetic expansion.
| |
|
| |
|
| When not performing substring expansion, using the forms documented below (e.g., :-), bash tests
| | ::パラメータが @ または * 添え字付きの添字配列名の場合、結果は <nowiki>${parameter[offset]}</nowiki>で始まる配列の長さメンバとなる。 負のオフセットは、指定された配列の最大添字より相対的に大きいものとなる。 lengthが0より小さい数に評価されると、展開エラーとなる。 |
| for a parameter that is unset or null. Omitting the colon results in a test only for a parameter
| |
| that is unset.
| |
|
| |
|
| ${parameter:-word}
| | ::連想配列にサブストリング展開を適用すると、未定義の結果が生じる。 |
| Use Default Values. If parameter is unset or null, the expansion of word is substituted.
| |
| Otherwise, the value of parameter is substituted.
| |
| ${parameter:=word}
| |
| Assign Default Values. If parameter is unset or null, the expansion of word is assigned
| |
| to parameter. The value of parameter is then substituted. Positional parameters and spe‐
| |
| cial parameters may not be assigned to in this way.
| |
| ${parameter:?word}
| |
| Display Error if Null or Unset. If parameter is null or unset, the expansion of word (or
| |
| a message to that effect if word is not present) is written to the standard error and the
| |
| shell, if it is not interactive, exits. Otherwise, the value of parameter is substituted.
| |
| ${parameter:+word}
| |
| Use Alternate Value. If parameter is null or unset, nothing is substituted, otherwise the
| |
| expansion of word is substituted.
| |
| ${parameter:offset}
| |
| ${parameter:offset:length}
| |
| Substring Expansion. Expands to up to length characters of the value of parameter start‐
| |
| ing at the character specified by offset. If parameter is @, an indexed array subscripted
| |
| by @ or *, or an associative array name, the results differ as described below. If length
| |
| is omitted, expands to the substring of the value of parameter starting at the character
| |
| specified by offset and extending to the end of the value. length and offset are arith‐
| |
| metic expressions (see ARITHMETIC EVALUATION below).
| |
|
| |
|
| If offset evaluates to a number less than zero, the value is used as an offset in charac‐
| | ::位置パラメーターが使われない限り、 サブ文字列のインデックスは0ベースである。 offsetが0で、位置パラメーターが使われている場合は、リストの先頭に$0が付く。 |
| ters from the end of the value of parameter. If length evaluates to a number less than
| |
| zero, it is interpreted as an offset in characters from the end of the value of parameter
| |
| rather than a number of characters, and the expansion is the characters between offset and
| |
| that result. Note that a negative offset must be separated from the colon by at least one
| |
| space to avoid being confused with the :- expansion.
| |
|
| |
|
| If parameter is @, the result is length positional parameters beginning at offset. A neg‐
| | :<nowiki>${!prefix*}</nowiki> |
| ative offset is taken relative to one greater than the greatest positional parameter, so
| | :<nowiki>${!prefix@}</nowiki> |
| an offset of -1 evaluates to the last positional parameter. It is an expansion error if
| | ::プレフィックスに一致する名前。 プレフィックスで始まる変数名を、IFS特殊変数の最初の文字で区切って展開する。 が使われ、展開が二重引用符で囲まれている場合、各変数名は別々の単語に展開される。 |
| length evaluates to a number less than zero.
| |
|
| |
|
| If parameter is an indexed array name subscripted by @ or *, the result is the length mem‐
| | :<nowiki>${!name[@]}</nowiki> |
| bers of the array beginning with ${parameter[offset]}. A negative offset is taken rela‐
| | :<nowiki>${!name[*]}</nowiki> |
| tive to one greater than the maximum index of the specified array. It is an expansion er‐
| | ::配列のキーのリスト。 nameが配列変数の場合、nameに代入された配列のインデックス(キー)のリストに展開される。 nameが配列でない場合、nameが設定されていれば0に展開され、そうでなければnullに展開される。 が使われ、展開が二重引用符で囲まれている場合、各キーは別々の単語に展開される。 |
| ror if length evaluates to a number less than zero.
| |
|
| |
|
| Substring expansion applied to an associative array produces undefined results.
| | :<nowiki>${#parameter}</nowiki> |
| | ::パラメータの長さ。 パラメータ値の文字数を代入する。 パラメータが*または@の場合、置換される値は位置パラメータの数である。 パラメータが * または @ を添字にした配列名の場合、置換される値は配列の要素数となる。 パラメータが負の数で添字付けされた配列名である場合、その数はパラメータの最大添字より1つ大きい相対数として解釈されるため、負の添字は配列の最後から数えていき、-1の添字は最後の要素を参照する。 |
|
| |
|
| Substring indexing is zero-based unless the positional parameters are used, in which case
| | :<nowiki>${parameter#word}</nowiki> |
| the indexing starts at 1 by default. If offset is 0, and the positional parameters are
| | :<nowiki>${parameter##word}</nowiki> |
| used, $0 is prefixed to the list.
| | ::マッチする接頭辞パターンを取り除く。 この単語は、パス名展開と同じようにパターンを生成するために展開され、 以下のパターンマッチングのところで説明されているルールを使って、 展開されたパラメータの値とマッチングされる。 もしパターンがパラメー ターの値の先頭にマッチすれば、展開の結果は、最も短いパターン(#の場合)か、 最も長いパターン(###の場合)が削除された、展開されたパラメーター の値となる。 パラメータが@または*の場合、パターン除去操作は各位置のパラメータに順番に適用され、展開結果はリストとなる。 パラメータが@または*で添え字された配列変数の場合、パターン除去操作は配列の各メンバに順番に適用され、展開結果はリストとなる。 |
|
| |
|
| ${!prefix*}
| | :<nowiki>${parameter%word}</nowiki> |
| ${!prefix@}
| | :<nowiki>${parameter%%word}</nowiki> |
| Names matching prefix. Expands to the names of variables whose names begin with prefix,
| | ::マッチする接尾辞パターンを取り除く。 この単語はパス名展開と同じようにパターンを生成するために展開され、 以下のパターンマッチングのところで説明されているルールを使って、 展開されたパラメータの値とマッチされる。 もしパターンが展開されたパラメータの値の末尾の部分にマッチした場合、 展開の結果は展開されたパラメータの値で、最も短いパターン(%の場合)または 最も長いパターン(%%の場合)が削除されたものになります。 パラメータが@または*の場合、パターン除去操作は各位置のパラメータに順番に適用され、展開結果はリストとなる。 パラメータが@または*で添え字された配列変数である場合、パターン除去操作は配列の各メンバに順番に適用され、展開結果はリストとなる。 |
| separated by the first character of the IFS special variable. When @ is used and the ex‐
| |
| pansion appears within double quotes, each variable name expands to a separate word.
| |
|
| |
|
| ${!name[@]}
| | :<nowiki>${parameter/pattern/string}</nowiki> |
| ${!name[*]}
| | ::パターンの置換。 パス名展開と同じようにパターンが展開され、Parameterが展開され、 パターンとその値との最長一致が文字列に置き換えられる。 マッチは、後述のパターンマッチングで説明するルールで実行される。 patternが/で始まる場合、patternのすべてのマッチが文字列に置き換えられる。通常、最初にマッチしたものだけが置き換えられる。 patternが#で始まる場合、パラメータの展開値の先頭にマッチしなければならない。 patternが%で始まる場合、展開されたパラメータ値の末尾にマッチしなければならない。 文字列がNULLの場合、パターンのマッチは削除され、パターンに続く/は省略される。 nocasematchシェルオプションが有効な場合、アルファベットの大文字小文字を区別せずにマッチが実行される。 パラメータが@または*の場合、置換操作は各位置パラメータに順番に適用され、展開結果はリストとなる。 パラメータが@または*で添え字された配列変数の場合、置換操作は配列の各メンバに順番に適用され、展開結果はリストとなる。 |
| List of array keys. If name is an array variable, expands to the list of array indices
| |
| (keys) assigned in name. If name is not an array, expands to 0 if name is set and null
| |
| otherwise. When @ is used and the expansion appears within double quotes, each key ex‐
| |
| pands to a separate word.
| |
|
| |
|
| ${#parameter}
| | :<nowiki>${parameter^pattern}</nowiki> |
| Parameter length. The length in characters of the value of parameter is substituted. If
| | :<nowiki>${parameter^^pattern}</nowiki> |
| parameter is * or @, the value substituted is the number of positional parameters. If pa‐
| | :<nowiki>${parameter,pattern}</nowiki> |
| rameter is an array name subscripted by * or @, the value substituted is the number of el‐
| | :<nowiki>${parameter,,pattern}</nowiki> |
| ements in the array. If parameter is an indexed array name subscripted by a negative num‐
| | ::大文字と小文字を区別する。 この展開では、パラメータ中のアルファベットの大文字小文字を修正する。 パス名展開と同様に、パターンが展開される。 展開されたパラメータ値の各文字は、パターンと照合され、パターンにマッチする場合、大文字小文字が変換される。 パターンは、複数の文字にマッチしてはならない。 演算子 ^ はパターンにマッチする小文字を大文字に変換し、演算子 , はマッチする大文字を小文字に変換する。 と ,, の展開は、展開された値のマッチした各文字を変換する。 ^ と , の展開は、展開された値の最初の文字にのみマッチして変換する。 patternが省略された場合は、すべての文字にマッチする? パラメータが@または*の場合、大文字小文字の修正操作は各位置パラメータに順番に 適用され、展開結果はリストとなる。 パラメータが@または*で添え字された配列変数である場合、大文字小文字の変更操作は配列の各メンバに順番に適用され、展開結果はリストとなる。 |
| ber, that number is interpreted as relative to one greater than the maximum index of pa‐
| |
| rameter, so negative indices count back from the end of the array, and an index of -1 ref‐
| |
| erences the last element.
| |
|
| |
|
| ${parameter#word}
| | :<nowiki>${parameter@operator}</nowiki> |
| ${parameter##word}
| | ::パラメータの変換。 演算子の値によって、パラメータ値の変換か、パラメータそのものの情報が展開される。 各演算子は1文字である: |
| Remove matching prefix pattern. The word is expanded to produce a pattern just as in
| |
| pathname expansion, and matched against the expanded value of parameter using the rules
| |
| described under Pattern Matching below. If the pattern matches the beginning of the value
| |
| of parameter, then the result of the expansion is the expanded value of parameter with the
| |
| shortest matching pattern (the ``#'' case) or the longest matching pattern (the ``##''
| |
| case) deleted. If parameter is @ or *, the pattern removal operation is applied to each
| |
| positional parameter in turn, and the expansion is the resultant list. If parameter is an
| |
| array variable subscripted with @ or *, the pattern removal operation is applied to each
| |
| member of the array in turn, and the expansion is the resultant list.
| |
|
| |
|
| ${parameter%word}
| | ::U 展開は、小文字のアルファベットを大文字に変換したパラメータ値の文字列である。 |
| ${parameter%%word}
| | ::u 拡張は、パラメータの値がアルファベットの場合、最初の文字を大文字に変換した文字列である。 |
| Remove matching suffix pattern. The word is expanded to produce a pattern just as in
| | ::L 展開は、大文字のアルファベットを小文字に変換したパラメータ値の文字列である。 |
| pathname expansion, and matched against the expanded value of parameter using the rules
| | ::Q 展開は、入力として再利用できる形式で引用されたパラメータの値である文字列である。 |
| described under Pattern Matching below. If the pattern matches a trailing portion of the
| | ::E 展開は、<nowiki>$'...'</nowiki>クォーテーションの仕組みと同様にバックスラッシュエスケープシーケンスを展開した文字列で、パラメータの値である。 |
| expanded value of parameter, then the result of the expansion is the expanded value of pa‐
| | ::P この展開は、パラメータ値をプロンプト文字列のように展開した結果の文字列である(下記の[[#PROMPTING|PROMPTING ]]を参照)。 |
| rameter with the shortest matching pattern (the ``%'' case) or the longest matching pat‐
| | ::A この展開文は、代入文または宣言コマンドの形をした文字列で、評価されると、パラメータをその属性と値で再作成する。 |
| tern (the ``%%'' case) deleted. If parameter is @ or *, the pattern removal operation is
| | ::K パラメータ値の引用符で囲まれた可能性のあるバージョンを出力する。ただし、インデックス付き配列と連想配列の値は、引用符で囲まれたキーと値のペアのシーケンスとして出力される(上記の[[#Arrays|Arrays ]]を参照)。 |
| applied to each positional parameter in turn, and the expansion is the resultant list. If
| | ::a 展開は、パラメータの属性を表すフラグ値からなる文字列である。 |
| parameter is an array variable subscripted with @ or *, the pattern removal operation is
| |
| applied to each member of the array in turn, and the expansion is the resultant list.
| |
|
| |
|
| ${parameter/pattern/string}
| | パラメータが@または*の場合、操作は各位置パラメータに順番に適用され、展開結果はリストとなる。 パラメータが@または*で添え字された配列変数の場合、操作は配列の各メンバに順番に適用され、展開結果はリストとなる。 |
| Pattern substitution. The pattern is expanded to produce a pattern just as in pathname
| |
| expansion, Parameter is expanded and the longest match of pattern against its value is re‐
| |
| placed with string. The match is performed using the rules described under Pattern Match‐
| |
| ing below. If pattern begins with /, all matches of pattern are replaced with string.
| |
| Normally only the first match is replaced. If pattern begins with #, it must match at the
| |
| beginning of the expanded value of parameter. If pattern begins with %, it must match at
| |
| the end of the expanded value of parameter. If string is null, matches of pattern are
| |
| deleted and the / following pattern may be omitted. If the nocasematch shell option is
| |
| enabled, the match is performed without regard to the case of alphabetic characters. If
| |
| parameter is @ or *, the substitution operation is applied to each positional parameter in
| |
| turn, and the expansion is the resultant list. If parameter is an array variable sub‐
| |
| scripted with @ or *, the substitution operation is applied to each member of the array in
| |
| turn, and the expansion is the resultant list.
| |
|
| |
|
| ${parameter^pattern}
| | 展開結果は、後述の単語分割とパス名展開の対象となる。 |
| ${parameter^^pattern}
| |
| ${parameter,pattern}
| |
| ${parameter,,pattern}
| |
| Case modification. This expansion modifies the case of alphabetic characters in parame‐
| |
| ter. The pattern is expanded to produce a pattern just as in pathname expansion. Each
| |
| character in the expanded value of parameter is tested against pattern, and, if it matches
| |
| the pattern, its case is converted. The pattern should not attempt to match more than one
| |
| character. The ^ operator converts lowercase letters matching pattern to uppercase; the ,
| |
| operator converts matching uppercase letters to lowercase. The ^^ and ,, expansions con‐
| |
| vert each matched character in the expanded value; the ^ and , expansions match and con‐
| |
| vert only the first character in the expanded value. If pattern is omitted, it is treated
| |
| like a ?, which matches every character. If parameter is @ or *, the case modification
| |
| operation is applied to each positional parameter in turn, and the expansion is the resul‐
| |
| tant list. If parameter is an array variable subscripted with @ or *, the case modifica‐
| |
| tion operation is applied to each member of the array in turn, and the expansion is the
| |
| resultant list.
| |
|
| |
|
| ${parameter@operator}
| | === Command Substitution === |
| Parameter transformation. The expansion is either a transformation of the value of param‐
| | Command substitution allows the output of a command to replace the command name. There are two forms: |
| eter or information about parameter itself, depending on the value of operator. Each op‐
| |
| erator is a single letter:
| |
|
| |
|
| U The expansion is a string that is the value of parameter with lowercase alphabetic
| | <code>$(command)</code> |
| characters converted to uppercase.
| |
| u The expansion is a string that is the value of parameter with the first character
| |
| converted to uppercase, if it is alphabetic.
| |
| L The expansion is a string that is the value of parameter with uppercase alphabetic
| |
| characters converted to lowercase.
| |
| Q The expansion is a string that is the value of parameter quoted in a format that
| |
| can be reused as input.
| |
| E The expansion is a string that is the value of parameter with backslash escape se‐
| |
| quences expanded as with the $'...' quoting mechanism.
| |
| P The expansion is a string that is the result of expanding the value of parameter as
| |
| if it were a prompt string (see PROMPTING below).
| |
| A The expansion is a string in the form of an assignment statement or declare command
| |
| that, if evaluated, will recreate parameter with its attributes and value.
| |
| K Produces a possibly-quoted version of the value of parameter, except that it prints
| |
| the values of indexed and associative arrays as a sequence of quoted key-value
| |
| pairs (see Arrays above).
| |
| a The expansion is a string consisting of flag values representing parameter's at‐
| |
| tributes.
| |
|
| |
|
| If parameter is @ or *, the operation is applied to each positional parameter in turn, and
| | or |
| the expansion is the resultant list. If parameter is an array variable subscripted with @
| |
| or *, the operation is applied to each member of the array in turn, and the expansion is
| |
| the resultant list.
| |
|
| |
|
| The result of the expansion is subject to word splitting and pathname expansion as de‐
| | <code>`command`</code> |
| scribed below.
| |
|
| |
|
| Command Substitution
| | Bashは、サブシェル環境でコマンドを実行し、コマンドの置換を、末尾の改行が削除されたコマンドの標準出力に置き換えることで、展開を行う。 |
| Command substitution allows the output of a command to replace the command name. There are two
| | 埋め込まれた改行は削除されないが、単語分割の際に削除されることがある。 コマンド置換<nowiki>$(cat file)</nowiki>は、同等だがより高速な<nowiki>$(< file)</nowiki>で置き換えることができる。 |
| forms:
| |
|
| |
|
| $(command)
| | 旧式のバッククォート形式の置換を使用する場合、バックスラッシュは、<nowiki>$、`、 \</nowiki>の後に続く場合を除き、リテラルな意味を保持する。 バックスラッシュが先行しない最初のバッククォートは、コマンド置換を終了する。 (command)形式を使用する場合、括弧の間のすべての文字がコマンドを構成する。 |
| or
| |
| `command`
| |
|
| |
|
| Bash performs the expansion by executing command in a subshell environment and replacing the com‐
| | コマンド置換は入れ子にすることができる。 バッククォート形式を使用しているときに入れ子にするには、バッククォート内をバックスラッシュでエスケープする。 |
| mand substitution with the standard output of the command, with any trailing newlines deleted.
| |
| Embedded newlines are not deleted, but they may be removed during word splitting. The command
| |
| substitution $(cat file) can be replaced by the equivalent but faster $(< file).
| |
|
| |
|
| When the old-style backquote form of substitution is used, backslash retains its literal meaning
| | 置換が二重引用符で囲まれている場合、単語分割とパス名展開は行われない。 |
| except when followed by $, `, or \. The first backquote not preceded by a backslash terminates
| |
| the command substitution. When using the $(command) form, all characters between the parentheses
| |
| make up the command; none are treated specially.
| |
|
| |
|
| Command substitutions may be nested. To nest when using the backquoted form, escape the inner
| | === Arithmetic Expansion === |
| backquotes with backslashes.
| | 算術展開は、算術式の評価と結果の置換を可能にする。 算術展開の書式は以下の通りである: |
|
| |
|
| If the substitution appears within double quotes, word splitting and pathname expansion are not
| | <code>$((expression))</code> |
| performed on the results.
| |
|
| |
|
| Arithmetic Expansion
| | 旧形式の<nowiki>$[expression]</nowiki>は非推奨であり、次期バージョンのbashでは削除される予定である。 |
| Arithmetic expansion allows the evaluation of an arithmetic expression and the substitution of
| |
| the result. The format for arithmetic expansion is:
| |
|
| |
|
| $((expression))
| | 式は二重引用符の中にあるものとして扱われるが、括弧の中の二重引用符は特別に扱われない。 式中のすべてのトークンは、パラメータと変数の展開、コマンドの置換、引用符の除去を受ける。 その結果は、評価される算術式として扱われる。 算術展開は入れ子にすることができる。 |
|
| |
|
| The old format $[expression] is deprecated and will be removed in upcoming versions of bash.
| | 評価は、以下の[[#ARITHMETIC EVALUATION|ARITHMETIC EVALUATION ]]のルールにしたがって実行される。 式が無効な場合、bashは失敗を示すメッセージを表示し、置換は行われない。 |
|
| |
|
| The expression is treated as if it were within double quotes, but a double quote inside the
| | === Process Substitution === |
| parentheses is not treated specially. All tokens in the expression undergo parameter and vari‐
| | プロセス置換は、プロセスの入出力をファイル名で参照できるようにする。 <nowiki><(list)または>(list)</nowiki>の形をとる。 プロセスリストは非同期に実行され、その入出力はファイル名として表示される。 このファイル名は、展開の結果として現在のコマンドの引数として渡される。 (list)形式が使われた場合、ファイルへの書き込みが listへの入力となる。 <nowiki><(list)</nowiki>形式が使われた場合、引数として渡されたファイルは listの出力を得るために読み込まれなければならない。 プロセス置換は、名前付きパイプ(FIFO)または /dev/fd によるオープンファイルの名前付けをサポートしているシステムでサポートされる。 |
| able expansion, command substitution, and quote removal. The result is treated as the arithmetic
| |
| expression to be evaluated. Arithmetic expansions may be nested.
| |
|
| |
|
| The evaluation is performed according to the rules listed below under ARITHMETIC EVALUATION. If
| | 利用可能な場合、プロセス置換はパラメータや変数の展開、コマンドの置換、算術展開と同時に実行される。 |
| expression is invalid, bash prints a message indicating failure and no substitution occurs.
| |
|
| |
|
| Process Substitution
| | === Word Splitting === |
| Process substitution allows a process's input or output to be referred to using a filename. It
| | シェルは、パラメータ展開、コマンド置換、算術展開の結果のうち、二重引用符で囲まれていないものを、単語分割のためにスキャンする。 |
| takes the form of <(list) or >(list). The process list is run asynchronously, and its input or
| |
| output appears as a filename. This filename is passed as an argument to the current command as
| |
| the result of the expansion. If the >(list) form is used, writing to the file will provide input
| |
| for list. If the <(list) form is used, the file passed as an argument should be read to obtain
| |
| the output of list. Process substitution is supported on systems that support named pipes (FI‐
| |
| FOs) or the /dev/fd method of naming open files.
| |
|
| |
|
| When available, process substitution is performed simultaneously with parameter and variable ex‐
| | シェルはIFSの各文字を区切り文字として扱い、これらの文字をフィールドの終端文字として、他の展開の結果を単語に分割する。 IFSが設定されていないか、またはその値がデフォルトの<space><tab><newline>の場合、以前の展開結果の先頭と末尾にある<space>、<tab>、<newline>のシーケンスは無視され、先頭と末尾にないIFS文字のシーケンスは単語を区切る役割を果たす。 IFSの値がデフォルト以外の場合、単語の先頭と末尾にある空白文字スペース、タブ、改行のシーケンスは、空白文字がIFSの値(IFS空白文字)にある限り無視される。 IFSの空白文字以外の文字は、隣接するIFSの空白文字とともに、フィールドを区切る。 IFS空白文字の連続も区切り文字として扱われる。 IFSの値がNULLの場合、単語の分割は行われない。 |
| pansion, command substitution, and arithmetic expansion.
| |
|
| |
|
| Word Splitting
| | 明示的NULL引数(""または'')は保持され、空文字列としてコマンドに渡される。 引用符で囲まれていない暗黙のNULL引数は、値を持たないパラメータが展開された結果、削除される。 値を持たないパラメータが二重引用符で囲まれて展開された場合、NULL引数が保持され、空文字列としてコマンドに渡される。 引用符で囲まれたNULL引数が、NULLでない単語の展開の一部として現れると、NULL引数は削除される。 つまり、単語-d''は、単語分割とNULL引数除去の後、-dになる。 |
| The shell scans the results of parameter expansion, command substitution, and arithmetic expan‐
| |
| sion that did not occur within double quotes for word splitting.
| |
|
| |
|
| The shell treats each character of IFS as a delimiter, and splits the results of the other expan‐
| | 展開が行われない場合、分割は行われない。 |
| sions into words using these characters as field terminators. If IFS is unset, or its value is
| |
| exactly <space><tab><newline>, the default, then sequences of <space>, <tab>, and <newline> at
| |
| the beginning and end of the results of the previous expansions are ignored, and any sequence of
| |
| IFS characters not at the beginning or end serves to delimit words. If IFS has a value other
| |
| than the default, then sequences of the whitespace characters space, tab, and newline are ignored
| |
| at the beginning and end of the word, as long as the whitespace character is in the value of IFS
| |
| (an IFS whitespace character). Any character in IFS that is not IFS whitespace, along with any
| |
| adjacent IFS whitespace characters, delimits a field. A sequence of IFS whitespace characters is
| |
| also treated as a delimiter. If the value of IFS is null, no word splitting occurs.
| |
|
| |
|
| Explicit null arguments ("" or '') are retained and passed to commands as empty strings. Un‐
| | === Pathname Expansion === |
| quoted implicit null arguments, resulting from the expansion of parameters that have no values,
| | 単語分割の後、-fオプションが設定されていない限り、bashは各単語に*、? 、[ の文字がないかスキャンする。 これらの文字が1つでも出現し、引用符で囲まれていない場合、その単語はパターンとみなされ、パターンにマッチするファイル名のアルファベット順のリストで置き換えられる(下記の[[#Pattern Matching|Pattern Matching ]]を参照)。 マッチするファイル名が見つからず、シェルオプションのnullglobが有効になっていない場合、その単語は変更されない。 nullglobオプションが設定されていて、マッチするものが見つからない場合、その単語は削除される。 failglobシェル・オプションが設定され、マッチが見つからなかった場合、エラー・メッセージが表示され、コマンドは実行されない。 シェル・オプションnocaseglobが有効な場合、アルファベットの大文字小文字を区別せずにマッチが実行される。 <nowiki>[a-z]</nowiki>(後述)のような範囲式を使う場合、'''LC_COLLATE'''の設定によっては、他の大文字と小文字が含まれる場合があることに注意。 パス名の展開にパターンを使用する場合、シェルオプションの dotglob が設定されていない限り、名前の先頭またはスラッシュの直後の文字 ``.'' は明示的にマッチさせなければならない。 ファイル名の ``.'' と ``...' は、dotglobが設定されていても、常に明示的にマッチさせなけれ ばならない。 それ以外の場合、``.''文字は特別に扱われない。 パス名をマッチさせる場合、スラッシュ文字は常にパターン中のスラッシュによって 明示的にマッチさせなければならないが、それ以外のマッチングコンテキストでは、 後述のパターンマッチングのところで説明するように、特別なパターン文字によって マッチさせることができる。 nocaseglob、nullglob、failglob、dotglobシェルオプションの説明については、後述の[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]のshoptの説明を参照のこと。 |
| are removed. If a parameter with no value is expanded within double quotes, a null argument re‐
| |
| sults and is retained and passed to a command as an empty string. When a quoted null argument
| |
| appears as part of a word whose expansion is non-null, the null argument is removed. That is,
| |
| the word -d'' becomes -d after word splitting and null argument removal.
| |
|
| |
|
| Note that if no expansion occurs, no splitting is performed.
| | '''GLOBIGNORE'''シェル変数を使用して、パターンにマッチするファイル名のセットを制限することができる。 |
| | '''GLOBIGNORE'''が設定されると、'''GLOBIGNORE'''のパターンの1つにもマッチするファイル名が、マッチするファイル名のリストから取り除かれる。 nocaseglobオプションが設定されている場合、'''GLOBIGNORE'''のパターンに対するマッチングは大文字小文字を区別せずに行われる。 ファイル名 ``.'' と ``...' は、'''GLOBIGNORE'''が設定され、NULLでない場合、常に無視される。 しかし、'''GLOBIGNORE'''をnullでない値に設定すると、dotglobシェルオプションを有効にする効果があるので、``.''で始まる他のすべてのファイル名がマッチするようになる。 .」で始まるファイル名を無視する旧来の動作を得るには、「.*」を '''GLOBIGNORE'''のパターンの1つにする。 '''GLOBIGNORE'''が設定されていない場合、dotglobオプションは無効になる。 パターンマッチは extglob シェルオプションの設定に従う。 |
|
| |
|
| Pathname Expansion
| | === Pattern Matching === |
| After word splitting, unless the -f option has been set, bash scans each word for the characters
| |
| *, ?, and [. If one of these characters appears, and is not quoted, then the word is regarded as
| |
| a pattern, and replaced with an alphabetically sorted list of filenames matching the pattern (see
| |
| Pattern Matching below). If no matching filenames are found, and the shell option nullglob is
| |
| not enabled, the word is left unchanged. If the nullglob option is set, and no matches are
| |
| found, the word is removed. If the failglob shell option is set, and no matches are found, an
| |
| error message is printed and the command is not executed. If the shell option nocaseglob is en‐
| |
| abled, the match is performed without regard to the case of alphabetic characters. Note that
| |
| when using range expressions like [a-z] (see below), letters of the other case may be included,
| |
| depending on the setting of LC_COLLATE. When a pattern is used for pathname expansion, the char‐
| |
| acter ``.'' at the start of a name or immediately following a slash must be matched explicitly,
| |
| unless the shell option dotglob is set. The filenames ``.'' and ``..'' must always be matched
| |
| explicitly, even if dotglob is set. In other cases, the ``.'' character is not treated spe‐
| |
| cially. When matching a pathname, the slash character must always be matched explicitly by a
| |
| slash in the pattern, but in other matching contexts it can be matched by a special pattern char‐
| |
| acter as described below under Pattern Matching. See the description of shopt below under SHELL
| |
| BUILTIN COMMANDS for a description of the nocaseglob, nullglob, failglob, and dotglob shell op‐
| |
| tions.
| |
|
| |
|
| The GLOBIGNORE shell variable may be used to restrict the set of file names matching a pattern.
| | 以下に説明する特殊パターン文字以外の、パターン中に現れる文字はすべて、それ自体にマッチする。 NUL文字はパターン中に出現してはならない。 バックスラッシュは次の文字をエスケープする。 特殊パターン文字を文字通りにマッチさせる場合は、引用符で囲む必要がある。 |
| If GLOBIGNORE is set, each matching file name that also matches one of the patterns in GLOBIGNORE
| |
| is removed from the list of matches. If the nocaseglob option is set, the matching against the
| |
| patterns in GLOBIGNORE is performed without regard to case. The filenames ``.'' and ``..'' are
| |
| always ignored when GLOBIGNORE is set and not null. However, setting GLOBIGNORE to a non-null
| |
| value has the effect of enabling the dotglob shell option, so all other filenames beginning with
| |
| a ``.'' will match. To get the old behavior of ignoring filenames beginning with a ``.'', make
| |
| ``.*'' one of the patterns in GLOBIGNORE. The dotglob option is disabled when GLOBIGNORE is un‐
| |
| set. The pattern matching honors the setting of the extglob shell option.
| |
|
| |
|
| Pattern Matching
| | 特殊パターン文字は以下の意味を持つ: |
|
| |
|
| Any character that appears in a pattern, other than the special pattern characters described be‐
| | ;<nowiki>*</nowiki> |
| low, matches itself. The NUL character may not occur in a pattern. A backslash escapes the fol‐
| | :NULL文字列を含む任意の文字列にマッチする。 globstarシェル・オプションが有効で、*がパス名展開コンテキストで使用されている場合、隣接する2つの*を1つのパターンとして使用すると、すべてのファイルと0個以上のディレクトリおよびサブディレクトリにマッチする。 の後に / が続く場合、隣接する2つの * はディレクトリとサブディレクトリにのみマッチする。 |
| lowing character; the escaping backslash is discarded when matching. The special pattern charac‐
| | ;? |
| ters must be quoted if they are to be matched literally.
| | :任意の1文字にマッチする。 |
| | ;<nowiki>[...]</nowiki> |
| | :囲まれた文字のいずれかにマッチする。 ハイフンで区切られた2つの文字の組は範囲式を表し、現在のロケールの照合順序と文字セットを 使って、その2つの文字の間にあるすべての文字がマッチする。 に続く最初の文字が「!」または「^」の場合、囲まれていないすべての文字が マッチされる。 範囲式の文字のソート順は、現在のロケールと、'''LC_COLLATE'''または'''LC_ALL'''シェル変数が設定されていればその値によって決定される。 <nowiki>[a-d]</nowiki>が<nowiki>[abcd]</nowiki>と等価であるという範囲式の伝統的な解釈を得るには、 '''LC_ALL'''シェル変数の値をCに設定するか、globasciirangesシェルオプションを有効にする。 - は、セットの最初または最後の文字として含めることでマッチする。 <nowiki>]</nowiki> は、集合の最初の文字として含めることでマッチする。 |
|
| |
|
| The special pattern characters have the following meanings:
| | <nowiki>[ および ]</nowiki>の中では、<nowiki>[:class:]</nowiki>という構文で文字クラスを指定することができる。classは、 POSIX標準に定義されている以下のクラスの1つである。 word文字クラスは、文字、数字、文字_にマッチする。 |
|
| |
|
| * Matches any string, including the null string. When the globstar shell option is
| | <nowiki>[ および ]</nowiki> 内では、等価クラスは構文 <nowiki>[=c=]</nowiki> を使って指定することができ、この構文は、文字 c と同じ照合重み(現在のロケールで定義されている)を持つすべての文字にマッチする。 |
| enabled, and * is used in a pathname expansion context, two adjacent *s used as a
| |
| single pattern will match all files and zero or more directories and subdirecto‐
| |
| ries. If followed by a /, two adjacent *s will match only directories and subdi‐
| |
| rectories.
| |
| ? Matches any single character.
| |
| [...] Matches any one of the enclosed characters. A pair of characters separated by a
| |
| hyphen denotes a range expression; any character that falls between those two char‐
| |
| acters, inclusive, using the current locale's collating sequence and character set,
| |
| is matched. If the first character following the [ is a ! or a ^ then any charac‐
| |
| ter not enclosed is matched. The sorting order of characters in range expressions
| |
| is determined by the current locale and the values of the LC_COLLATE or LC_ALL
| |
| shell variables, if set. To obtain the traditional interpretation of range expres‐
| |
| sions, where [a-d] is equivalent to [abcd], set value of the LC_ALL shell variable
| |
| to C, or enable the globasciiranges shell option. A - may be matched by including
| |
| it as the first or last character in the set. A ] may be matched by including it
| |
| as the first character in the set.
| |
|
| |
|
| Within [ and ], character classes can be specified using the syntax [:class:],
| | <nowiki>[ および ]</nowiki> 内では、構文 <nowiki>[.symbol.]</nowiki> は照合記号 symbol にマッチする。 |
| where class is one of the following classes defined in the POSIX standard:
| |
| alnum alpha ascii blank cntrl digit graph lower print punct space upper word xdigit
| |
| A character class matches any character belonging to that class. The word charac‐
| |
| ter class matches letters, digits, and the character _.
| |
|
| |
|
| Within [ and ], an equivalence class can be specified using the syntax [=c=], which
| | shopt 組み込み関数で extglob シェルオプションを有効にすると、いくつかの拡張パターンマッチング演算子が認識される。 以下の説明では、pattern-listは|で区切られた1つ以上のパターンのリストである。 複合パターンは、以下のサブパターンの1つ以上を使用して形成することができる: |
| matches all characters with the same collation weight (as defined by the current
| |
| locale) as the character c.
| |
|
| |
|
| Within [ and ], the syntax [.symbol.] matches the collating symbol symbol.
| | :;?(pattern-list) |
| | ::与えられたパターンの0個または1個にマッチする |
| | :;<nowikI>*</nowiki>(pattern-list) |
| | ::与えられたパターンの0回以上の出現にマッチする |
| | :;+(pattern-list) |
| | ::与えられたパターンの1つ以上の出現にマッチする |
| | :;@(pattern-list) |
| | ::与えられたパターンのいずれかにマッチする |
| | :;!(pattern-list) |
| | ::与えられたパターンの1つ以外とマッチする |
|
| |
|
| If the extglob shell option is enabled using the shopt builtin, several extended pattern matching
| | 長い文字列に対する複雑な拡張パターンマッチングは、特にパターンが交替を含み、文字列が複数のマッチを含む場合、時間がかかる。 短い文字列に対して別々のマッチを使うか、1つの長い文字列の代わりに文字列の配列を使う方が速いかもしれない。 |
| operators are recognized. In the following description, a pattern-list is a list of one or more
| |
| patterns separated by a |. Composite patterns may be formed using one or more of the following
| |
| sub-patterns:
| |
|
| |
|
| ?(pattern-list)
| | === Quote Removal === |
| Matches zero or one occurrence of the given patterns
| | 前述の展開の後、上記の展開のいずれからも生じなかった、引用符で囲まれていない<nowiki>\, ', "</nowiki> はすべて削除される。 |
| *(pattern-list)
| |
| Matches zero or more occurrences of the given patterns
| |
| +(pattern-list)
| |
| Matches one or more occurrences of the given patterns
| |
| @(pattern-list)
| |
| Matches one of the given patterns
| |
| !(pattern-list)
| |
| Matches anything except one of the given patterns
| |
|
| |
|
| Complicated extended pattern matching against long strings is slow, especially when the patterns
| | == REDIRECTION == |
| contain alternations and the strings contain multiple matches. Using separate matches against
| | コマンドが実行される前に、シェルによって解釈される特別な記法を使って、その入出力をリダイレクトすることができる。 リダイレクトによって、コマンドのファイルハンドルを複製したり、開いたり、閉じたり、異なるファイルを参照させたり、コマンドの読み込み先や書き込み先のファイルを変更したりすることができる。 リダイレクションは、現在のシェル実行環境のファイルハンドルを変更するためにも使用できる。 以下のリダイレクション演算子は、単純なコマンドの前でも、コマンドの後でも、どこにでも現れる。 リダイレクションは左から右の順番で処理される。 |
| shorter strings, or using arrays of strings instead of a single long string, may be faster.
| |
|
| |
|
| Quote Removal
| | ファイル記述子番号で始まるリダイレクションの前に、<nowiki>{varname}</nowiki>という単語を置くこともできる。 この場合、<nowiki>>&-と<&-</nowiki>を除く各リダイレクト演算子に対して、シェルは10以上のファイル記述子を割り当て、それをvarnameに割り当てる。 もし >&- または <nowiki><&-</nowiki> の前に <nowiki>{varname}</nowiki> があれば、varname の値はクローズするファイル記述子を定義する。 |
| After the preceding expansions, all unquoted occurrences of the characters \, ', and " that did
| | <nowiki>{varname}</nowiki>が与えられると、リダイレクトはコマンドの範囲を超えて持続し、シェルプログラマが自分でファイル記述子を管理できるようになる。 |
| not result from one of the above expansions are removed.
| |
|
| |
|
| REDIRECTION
| | 以下の記述において、ファイル記述子番号が省略され、リダイレクション演算子の最初の文字が <nowiki><</nowiki> の場合、リダイレクションは標準入力(ファイル記述子0)を参照する。 リダイレクション演算子の最初の文字が<nowiki>></nowiki>の場合、リダイレクションは標準出力(ファイル記述子1)を参照する。 |
| Before a command is executed, its input and output may be redirected using a special notation in‐
| |
| terpreted by the shell. Redirection allows commands' file handles to be duplicated, opened,
| |
| closed, made to refer to different files, and can change the files the command reads from and
| |
| writes to. Redirection may also be used to modify file handles in the current shell execution
| |
| environment. The following redirection operators may precede or appear anywhere within a simple
| |
| command or may follow a command. Redirections are processed in the order they appear, from left
| |
| to right.
| |
|
| |
|
| Each redirection that may be preceded by a file descriptor number may instead be preceded by a
| | 以下の記述でリダイレクション演算子に続く単語は、特に断りのない限り、波括弧展開、チルダ展開、パラメータ展開、変数展開、コマンド置換、算術展開、引用符除去、パス名展開、単語分割の対象となる。 |
| word of the form {varname}. In this case, for each redirection operator except >&- and <&-, the
| | 複数の単語に展開された場合、bashはエラーを報告する。 |
| shell will allocate a file descriptor greater than or equal to 10 and assign it to varname. If
| |
| >&- or <&- is preceded by {varname}, the value of varname defines the file descriptor to close.
| |
| If {varname} is supplied, the redirection persists beyond the scope of the command, allowing the
| |
| shell programmer to manage the file descriptor himself.
| |
|
| |
|
| In the following descriptions, if the file descriptor number is omitted, and the first character
| | リダイレクトの順番は重要であることに注意。 例えば、コマンド |
| of the redirection operator is <, the redirection refers to the standard input (file descriptor
| |
| 0). If the first character of the redirection operator is >, the redirection refers to the stan‐
| |
| dard output (file descriptor 1).
| |
|
| |
|
| The word following the redirection operator in the following descriptions, unless otherwise
| | <code>ls > dirlist 2>&1</code> |
| noted, is subjected to brace expansion, tilde expansion, parameter and variable expansion, com‐
| |
| mand substitution, arithmetic expansion, quote removal, pathname expansion, and word splitting.
| |
| If it expands to more than one word, bash reports an error.
| |
|
| |
|
| Note that the order of redirections is significant. For example, the command
| | は標準出力と標準エラーの両方をファイルdirlistに向ける。 |
|
| |
|
| ls > dirlist 2>&1
| | <code>ls 2>&1 > dirlist</code> |
|
| |
|
| directs both standard output and standard error to the file dirlist, while the command
| | なぜなら、標準出力がdirlistにリダイレクトされる前に、標準エラーは標準出力から複製されたからである。 |
|
| |
|
| ls 2>&1 > dirlist
| | Bashは、リダイレクトで使用されるいくつかのファイル名を、以下の表で説明するように特別に扱う。 bashが実行されているオペレーティング・システムがこれらの特別なファイルを提供している場合、bashはそれらを使用する。そうでない場合は、以下に説明する動作で内部的にエミュレートする。 |
|
| |
|
| directs only the standard output to file dirlist, because the standard error was duplicated from
| | :;/dev/fd/fd |
| the standard output before the standard output was redirected to dirlist.
| | ::fdが有効な整数の場合、ファイル記述子fdは複製される。 |
| | :;/dev/stdin |
| | ::ファイル記述子 0 が重複している。 |
| | :;/dev/stdout |
| | ::ファイル記述子 1 が重複している。 |
| | :;/dev/stderr |
| | ::ファイル記述子 2 が重複している。 |
| | :;/dev/tcp/host/port |
| | ::hostに有効なホスト名またはインターネット・アドレスを、portに整数のポート番号またはサービス名を指定すると、bashは対応するTCPソケットを開こうとする。 |
| | :;/dev/udp/host/port |
| | ::hostに有効なホスト名またはインターネット・アドレスを、portに整数のポート番号またはサービス名を指定すると、bashは対応するUDPソケットを開こうとする。 |
|
| |
|
| Bash handles several filenames specially when they are used in redirections, as described in the
| | ファイルのオープンまたは作成に失敗すると、リダイレクトは失敗する。 |
| following table. If the operating system on which bash is running provides these special files,
| |
| bash will use them; otherwise it will emulate them internally with the behavior described below.
| |
|
| |
|
| /dev/fd/fd
| | シェルが内部的に使用するファイル記述子と衝突する可能性があるため、9 以上のファイル記述子を使用するリダイレクトは注意して使用すべきである。 |
| If fd is a valid integer, file descriptor fd is duplicated.
| |
| /dev/stdin
| |
| File descriptor 0 is duplicated.
| |
| /dev/stdout
| |
| File descriptor 1 is duplicated.
| |
| /dev/stderr
| |
| File descriptor 2 is duplicated.
| |
| /dev/tcp/host/port
| |
| If host is a valid hostname or Internet address, and port is an integer port number
| |
| or service name, bash attempts to open the corresponding TCP socket.
| |
| /dev/udp/host/port
| |
| If host is a valid hostname or Internet address, and port is an integer port number
| |
| or service name, bash attempts to open the corresponding UDP socket.
| |
|
| |
|
| A failure to open or create a file causes the redirection to fail.
| | exec組み込みコマンドは、現在のシェルでリダイレクトを有効にすることができることに注意すること。 |
|
| |
|
| Redirections using file descriptors greater than 9 should be used with care, as they may conflict
| | === Redirecting Input === |
| with file descriptors the shell uses internally.
| | 入力をリダイレクトすると、wordを展開した結果の名前のファイルが、ファイル記述子n、またはnが指定されていない場合は標準入力(ファイル記述子0)で読み込むためにオープンされる。 |
|
| |
|
| Note that the exec builtin command can make redirections take effect in the current shell.
| | 入力をリダイレクトする一般的な書式は以下の通りである: |
|
| |
|
| Redirecting Input
| | :<code>[n]<word</code> |
| Redirection of input causes the file whose name results from the expansion of word to be opened
| |
| for reading on file descriptor n, or the standard input (file descriptor 0) if n is not speci‐
| |
| fied.
| |
|
| |
|
| The general format for redirecting input is:
| | === Redirecting Output === |
| | 出力のリダイレクトは、wordを展開した結果の名前を持つファイルを、ファイル記述子n、またはnが指定されていない場合は標準出力(ファイル記述子1)に書き込むためにオープンする。 ファイルが存在しない場合は作成され、存在する場合はサイズがゼロに切り詰められる。 |
|
| |
|
| [n]<word
| | 出力をリダイレクトする一般的な書式は以下の通りである: |
|
| |
|
| Redirecting Output
| | :<code>[n]>word</code> |
| Redirection of output causes the file whose name results from the expansion of word to be opened
| |
| for writing on file descriptor n, or the standard output (file descriptor 1) if n is not speci‐
| |
| fied. If the file does not exist it is created; if it does exist it is truncated to zero size.
| |
|
| |
|
| The general format for redirecting output is:
| | リダイレクト演算子が>であり、set 組み込み関数の noclobber オプションが有効になっている場合、 word を展開した結果のファイル名が存在し、かつ通常のファイルであれば、 リダイレクトは失敗する。 リダイレクション演算子が<nowiki>>|</nowiki>であるか、リダイレクション演算子が>であり、 set builtinコマンドのnoclobberオプションが有効になっていない場合、 wordで指定された名前のファイルが存在しても、リダイレクションが試みられる。 |
|
| |
|
| [n]>word
| | === Appending Redirected Output === |
| | この方法で出力をリダイレクトすると、wordを展開した結果の名前を持つファイルが、ファイル記述子n、またはnが指定されていない場合は標準出力(ファイル記述子1)に追加するためにオープンされる。 ファイルが存在しない場合は作成される。 |
|
| |
|
| If the redirection operator is >, and the noclobber option to the set builtin has been enabled,
| | 出力を追加する一般的な書式は以下の通りである: |
| the redirection will fail if the file whose name results from the expansion of word exists and is
| |
| a regular file. If the redirection operator is >|, or the redirection operator is > and the no‐
| |
| clobber option to the set builtin command is not enabled, the redirection is attempted even if
| |
| the file named by word exists.
| |
|
| |
|
| Appending Redirected Output
| | :<code>[n]>>word</code> |
| Redirection of output in this fashion causes the file whose name results from the expansion of
| |
| word to be opened for appending on file descriptor n, or the standard output (file descriptor 1)
| |
| if n is not specified. If the file does not exist it is created.
| |
|
| |
|
| The general format for appending output is:
| | === Redirecting Standard Output and Standard Error === |
| | この構文は、標準出力(ファイル記述子1)と標準エラー出力(ファイル記述子2)の両方を、wordの展開名を持つファイルにリダイレクトすることを可能にする。 |
|
| |
|
| [n]>>word
| | 標準出力と標準エラーのリダイレクトには2つの形式がある: |
|
| |
|
| Redirecting Standard Output and Standard Error
| | <code>&>word</code> |
| This construct allows both the standard output (file descriptor 1) and the standard error output
| |
| (file descriptor 2) to be redirected to the file whose name is the expansion of word.
| |
|
| |
|
| There are two formats for redirecting standard output and standard error:
| | and |
|
| |
|
| &>word
| | <code>>&word</code> |
| and
| |
| >&word
| |
|
| |
|
| Of the two forms, the first is preferred. This is semantically equivalent to
| | この2つの形式のうち、最初の形式が好まれる。 これは意味的に次のものと等価である。 |
|
| |
|
| >word 2>&1
| | <code>>word 2>&1</code> |
|
| |
|
| When using the second form, word may not expand to a number or -. If it does, other redirection
| | 2番目の形式を使用する場合、wordは数字または-に展開されないかもしれない。 その場合、互換性の理由から、他のリダイレクト演算子が適用される(後述の[[#Duplicating File Descriptors|Duplicating File Descriptors ]]を参照)。 |
| operators apply (see Duplicating File Descriptors below) for compatibility reasons.
| |
|
| |
|
| Appending Standard Output and Standard Error
| | === Appending Standard Output and Standard Error === |
| This construct allows both the standard output (file descriptor 1) and the standard error output
| | この構成では、標準出力(ファイル記述子1)と標準エラー出力(ファイル記述子2)の両方を、wordの展開名を持つファイルに追加することができる。 |
| (file descriptor 2) to be appended to the file whose name is the expansion of word.
| |
|
| |
|
| The format for appending standard output and standard error is:
| | 標準出力と標準エラーを付加する書式は以下の通りである: |
|
| |
|
| &>>word
| | <code>&>>word</code> |
|
| |
|
| This is semantically equivalent to
| | これは意味的に以下と等価である |
|
| |
|
| >>word 2>&1
| | <code>>>word 2>&1</code> |
|
| |
|
| (see Duplicating File Descriptors below).
| | (後述の [[#Duplicating File Descriptors|Duplicating File Descriptors ]]参照) |
|
| |
|
| Here Documents
| | === Here Documents === |
| This type of redirection instructs the shell to read input from the current source until a line
| | このタイプのリダイレクトは、区切り文字(末尾に空白を含まない)だけを含む行が表示されるまで、現在のソースから入力を読み込むようにシェルに指示する。 その時点までに読み込まれたすべての行が、コマンドの標準入力(nが指定されている場合はファイル記述子n)として使用される。 |
| containing only delimiter (with no trailing blanks) is seen. All of the lines read up to that
| |
| point are then used as the standard input (or file descriptor n if n is specified) for a command.
| |
|
| |
|
| The format of here-documents is:
| | here-documentsの書式は以下の通りである: |
|
| |
|
| | <syntaxhighlight lang="bash"> |
| [n]<<[-]word | | [n]<<[-]word |
| here-document | | here-document |
| delimiter | | delimiter |
| | </syntaxhighlight> |
|
| |
|
| No parameter and variable expansion, command substitution, arithmetic expansion, or pathname ex‐
| | wordに対してパラメータや変数の展開、コマンドの置換、算術展開、パス名の展開は行われない。 word の一部が引用符で囲まれている場合、区切り文字は word の引用符除去の結果となり、 ヒアドキュメントの行は展開されない。 wordが引用符で囲まれていない場合、ヒアドキュメントのすべての行はパラメータ展開、コマンド置換、および算術展開の対象となり、文字シーケンスである<nowiki>\<newline></nowiki>は無視され、<nowiki>\, $</nowiki>、および`は引用符で囲むために使用されなければならない。 |
| pansion is performed on word. If any part of word is quoted, the delimiter is the result of
| |
| quote removal on word, and the lines in the here-document are not expanded. If word is unquoted,
| |
| all lines of the here-document are subjected to parameter expansion, command substitution, and
| |
| arithmetic expansion, the character sequence \<newline> is ignored, and \ must be used to quote
| |
| the characters \, $, and `.
| |
|
| |
|
| If the redirection operator is <<-, then all leading tab characters are stripped from input lines
| | リダイレクト演算子が<nowiki><<-</nowiki>の場合、入力行と区切り文字を含む行から先頭のタブ文字がすべて取り除かれる。 これにより、シェルスクリプト内のヒアドキュメントが自然な形でインデントされる。 |
| and the line containing delimiter. This allows here-documents within shell scripts to be in‐
| |
| dented in a natural fashion.
| |
|
| |
|
| 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,994: |
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.
| |
| Constants with a leading 0 are interpreted as octal numbers. A leading 0x or 0X denotes hexadec‐
| |
| imal. Otherwise, numbers take the form [base#]n, where the optional base is a decimal number be‐
| |
| 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 are used by the [[ compound command and the test and [ builtin commands
| |
| 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‐
| |
| 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
| |
| test command sorts using ASCII ordering.
| |
| | |
| -a file
| |
| True if file exists.
| |
| -b file
| |
| True if file exists and is a block special file.
| |
| -c file
| |
| True if file exists and is a character special file.
| |
| -d file
| |
| True if file exists and is a directory.
| |
| -e file
| |
| True if file exists.
| |
| -f file
| |
| True if file exists and is a regular file.
| |
| -g file
| |
| True if file exists and is set-group-id.
| |
| -h file
| |
| True if file exists and is a symbolic link.
| |
| -k file
| |
| True if file exists and its ``sticky'' bit is set.
| |
| -p file
| |
| True if file exists and is a named pipe (FIFO).
| |
| -r file
| |
| True if file exists and is readable.
| |
| -s file
| |
| True if file exists and has a size greater than zero.
| |
| -t fd True if file descriptor fd is open and refers to a terminal.
| |
| -u file
| |
| True if file exists and its set-user-id bit is set.
| |
| -w file
| |
| True if file exists and is writable.
| |
| -x file
| |
| True if file exists and is executable.
| |
| -G file
| |
| True if file exists and is owned by the effective group id.
| |
| -L file
| |
| True if file exists and is a symbolic link.
| |
| -N file
| |
| True if file exists and has been modified since it was last read.
| |
| -O file
| |
| True if file exists and is owned by the effective user id.
| |
| -S file
| |
| True if file exists and is a socket.
| |
| file1 -ef file2
| |
| True if file1 and file2 refer to the same device and inode numbers.
| |
| file1 -nt file2
| |
| True if file1 is newer (according to modification date) than file2, or if file1 exists and
| |
| file2 does not.
| |
| file1 -ot file2
| |
| True if file1 is older than file2, or if file2 exists and file1 does not.
| |
| -o optname
| |
| True if the shell option optname is enabled. See the list of options under the descrip‐
| |
| tion of the -o option to the set builtin below.
| |
| -v varname
| |
| True if the shell variable varname is set (has been assigned a value).
| |
| -R varname
| |
| True if the shell variable varname is set and is a name reference.
| |
| -z string
| |
| True if the length of string is zero.
| |
| string
| |
| -n string
| |
| True if the length of string is non-zero.
| |
| | |
| string1 == string2
| |
| string1 = string2
| |
| True if the strings are equal. = should be used with the test command for POSIX confor‐
| |
| mance. When used with the [[ command, this performs pattern matching as described above
| |
| (Compound Commands).
| |
| | |
| string1 != string2
| |
| True if the strings are not equal.
| |
| | |
| string1 < string2
| |
| True if string1 sorts before string2 lexicographically.
| |
| | |
| string1 > string2
| |
| True if string1 sorts after string2 lexicographically.
| |
| | |
| arg1 OP arg2
| |
| OP is one of -eq, -ne, -lt, -le, -gt, or -ge. These arithmetic binary operators return
| |
| 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
| |
| 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.
| |
| | |
| 2. The words that are not variable assignments or redirections are expanded. If any words
| |
| 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‐
| | 整数定数はC言語の定義に従うが、接尾辞や文字定数は付けない。 |
| pansion, command substitution, arithmetic expansion, and quote removal before being as‐
| | 先頭に0を持つ定数は、8進数として解釈される。 先頭の0xまたは0Xは16進数を表す。 それ以外の場合、数値は<nowiki>[base#]n</nowiki>の形をとる。オプションのbaseは算術基底を表す2から64までの10進数で、nはその基底の数値である。 base#が省略された場合は、10進数が使用される。 nを指定する際、数字以外が必要な場合は、9より大きい数字を小文字、大文字、@、_の順で表す。 |
| signed to the variable.
| | 基数が36以下の場合、小文字と大文字を入れ替えて10以上35以下の数字を表すことができる。 |
|
| |
|
| 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‐
| | == CONDITIONAL EXPRESSIONS == |
| ronment. A redirection error causes the command to exit with a non-zero status.
| | 条件式は、<nowiki>[[</nowiki> 複合コマンド、test および [ 組み込みコマンドで使用され、ファイル属性のテストや文字列比較、算術比較を実行する。 testコマンドと<nowiki>[</nowiki> コマンドは、引数の数に基づいて動作を決定する。その他のコマンド固有の動作については、これらのコマンドの説明を参照のこと。 |
|
| |
|
| If there is a command name left after expansion, execution proceeds as described below. Other‐
| | 式は、以下の単項または二項のプライマリから形成される。 Bashは、いくつかのファイル名が式の中で使われている場合、それらを特別に扱う。 bashが動作しているオペレーティング・システムがこれらの特別なファイルを提供している場合、bashはそれらを使用する: プライマリの1つのファイル引数が/dev/fd/nの場合、ファイル記述子nがチェックされる。 プライマリへのファイル引数が /dev/stdin、/dev/stdout、/dev/stderr のいずれかである場合、 それぞれファイル記述子 0、1、2 がチェックされる。 |
| 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
| | 特に指定がない限り、ファイルを操作するプライマリはシンボリックリンクに従い、リンクそのものではなくリンク先を操作する。 |
| 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
| | <nowiki>[[</nowiki>と一緒に使うと、<nowiki><[</nowiki> 演算子と <nowiki>></nowiki> 演算子は、現在のロケールを使って辞書順にソートする。 testコマンドはASCII順序でソートする。 |
| 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
| | :;-a file |
| each element of the PATH for a directory containing an executable file by that name. Bash uses a
| | ::ファイルが存在するならば True |
| hash table to remember the full pathnames of executable files (see hash under SHELL BUILTIN COM‐
| | :;-b file |
| MANDS below). A full search of the directories in PATH is performed only if the command is not
| | ::ファイルが存在し、ブロックスペシャルファイルならば True |
| found in the hash table. If the search is unsuccessful, the shell searches for a defined shell
| | :;-c file |
| function named command_not_found_handle. If that function exists, it is invoked in a separate
| | ::ファイルが存在し、キャラクタースペシャルファイルならば True |
| execution environment with the original command and the original command's arguments as its argu‐
| | :;-d file |
| ments, and the function's exit status becomes the exit status of that subshell. If that function
| | ::ファイルが存在し、ディレクトリーならば True |
| is not defined, the shell prints an error message and returns an exit status of 127.
| | :;-e file |
| | ::ファイルが存在するならば True |
| | :;-f file |
| | ::ファイルが存在し、、レギュラーファイルならば True |
| | :;-g file |
| | ::ファイルが存在し set-group-id ならば True |
| | :;-h file |
| | ::ファイルが存在し、シンボリックリンクならば True |
| | :;-k file |
| | ::ファイルが存在し、その``sticky'' ビットがセットされているならば True |
| | :;-p file |
| | ::ファイルが存在しファイルが存在し、名前付きパイプ(FIFO)であれば True |
| | :;-r file |
| | ::ファイルが存在し、readableであれば True |
| | :;-s file |
| | ::ファイルが存在し、0より大きいファイルサイズであれば True |
| | :;-t fd |
| | ::ファイル記述子fdがオープンされていて、端末を参照していれば True |
| | :;-u file |
| | ::ファイルが存在し、その set-user-id bitがセットされていれば True |
| | :;-w file |
| | ::ファイルが存在し、writableであるならば True |
| | :;-x file |
| | ::ファイルが存在し、executableであるならば True |
| | :;-G file |
| | ::ファイルが存在し、有効なグループIDが所有していれば、True |
| | :;-L file |
| | ::ファイルが存在し、シンボリックリンクであれば、True |
| | :;-N file |
| | ::ファイルが存在し、最後に読み込まれてから変更されていれば True |
| | :;-O file |
| | ::ファイルが存在し、有効なユーザIDに所有されていれば True |
| | :;-S file |
| | ::ファイルが存在し、ソケットであれば True |
| | :;file1 -ef file2 |
| | ::file1とfile2が、同じデバイスとinode番号に参照されていれば True |
| | :;file1 -nt file2 |
| | ::file1がfile2より(更新日付に従って)新しい場合、またはfile1が存在しfile2が存在しない場合、True |
| | :;file1 -ot file2 |
| | ::file1がfile2より古い場合、またはfile2が存在しfile1が存在しない場合に True |
| | :;-o optname |
| | ::シェル・オプション optname が有効なら True。以下のset組み込み関数の-oオプションの説明の下にあるオプションのリストを参照のこと。 |
| | :;-v varname |
| | ::シェル変数varnameが設定されている(値が割り当てられている)場合は True |
| | :;-R varname |
| | ::シェル変数 varname が設定されていて、名前参照であれば True |
| | :;-z string |
| | ::文字列の長さが 0であれば True |
| | :;string |
| | :;-n string |
| | ::文字列の長さが 0以外であれば True |
|
| |
|
| If the search is successful, or if the command name contains one or more slashes, the shell exe‐
| | :;string1 == string2 |
| cutes the named program in a separate execution environment. Argument 0 is set to the name
| | :;string1 = string2 |
| given, and the remaining arguments to the command are set to the arguments given, if any.
| | ::POSIXに準拠するためには、testコマンドと一緒に使う必要がある。 <nowiki>[[</nowiki>コマンドと一緒に使うと、上記の([[#Compound Commands|Compound Commands ]])で説明したパターンマッチングを行う。 |
|
| |
|
| If this execution fails because the file is not in executable format, and the file is not a di‐
| | :;string1 != string2 |
| rectory, it is assumed to be a shell script, a file containing shell commands. A subshell is
| | ::文字列が等しくなければ True |
| 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‐
| | :;string1 < string2 |
| preter for the program. The shell executes the specified interpreter on operating systems that
| | ::文字列1が文字列2より辞書順に先にソートされていれば True |
| 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
| | :;string1 > string2 |
| The shell has an execution environment, which consists of the following:
| | ::文字列1が文字列2の後に辞書式にソートされていれば True |
|
| |
|
| • open files inherited by the shell at invocation, as modified by redirections supplied to
| | :;arg1 OP arg2 |
| the exec builtin
| | ::OPは-eq、-ne、-lt、-le、-gt、-geのいずれかである。これらの算術二項演算子は、それぞれ arg1 が arg2 と等しい、等しくない、未満、以下、以上、または以上の場合に true を返します。arg1とarg2は、正または負の整数である。<nowiki>[[</nowiki>コマンドと併用すると、Arg1とArg2は算術式として評価される(上記の[[#ARITHMETIC EVALUATION|ARITHMETIC EVALUATION ]]を参照)。 |
|
| |
|
| • the current working directory as set by cd, pushd, or popd, or inherited by the shell at
| | == SIMPLE COMMAND EXPANSION == |
| invocation
| | 単純なコマンドが実行されると、シェルは以下の展開、代入、リダイレクションを左から順に実行する。 |
|
| |
|
| • the file creation mode mask as set by umask or inherited from the shell's parent
| | #パーサーが変数代入としてマークした単語(コマンド名の前にあるもの)とリダイレクションは、後の処理のために保存される。 |
| | #変数代入やリダイレクションでない単語は展開される。 展開後も単語が残っている場合、最初の単語はコマンド名とみなされ、それ以降の単語は引数となる。 |
| | #リダイレクションは上記の[[#REDIRECTION|REDIRECTION ]]の説明に従って実行される。 |
| | #各変数代入の=の後のテキストは、変数に代入される前に、チルダ展開、パラメータ展開、コマンド置換、算術展開、引用符除去を受ける。 |
|
| |
|
| • current traps set by trap
| | コマンド名の結果がない場合、変数への代入は現在のシェル環境に影響する。 そうでなければ、変数は実行されたコマンドの環境に追加され、現在のシェル環境には影響しない。 代入のいずれかが読み取り専用変数に値を代入しようとした場合、エラーが発生し、コマンドは0以外のステータスで終了する。 |
|
| |
|
| • 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‐
| | 展開後にコマンド名が残っている場合、以下の説明に従って実行が進められる。 そうでなければ、コマンドは終了する。 展開のいずれかにコマンド置換が含まれていた場合、コマンドの終了ステータスは、最後に実行されたコマンド置換の終了ステータスになる。 コマンド置換がなかった場合、コマンドの終了ステータスは0である。 |
| ronment
| |
|
| |
|
| • options enabled at invocation (either by default or with command-line arguments) or by set
| | == COMMAND EXECUTION == |
| | コマンドが単語に分割された後、それが単純なコマンドとオプションの引数リストになる場合、以下のアクションが実行される。 |
|
| |
|
| • options enabled by shopt
| | コマンド名にスラッシュが含まれていない場合、シェルはそのコマンドを探そうとする。 その名前のシェル関数が存在する場合、その関数は上記の[[#FUNCTIONS|FUNCTIONS ]]で説明したように呼び出される。 その名前が関数と一致しない場合、シェルはシェル組み込み関数のリストからその関数を検索する。 一致するものが見つかれば、その組み込み関数が呼び出される。 |
|
| |
|
| • shell aliases defined with alias
| | 名前がシェル関数でもビルトインでもなく、スラッシュを含まない場合、bashは'''PATH'''の各要素からその名前の実行可能ファイルを含むディレクトリを検索する。 Bashは、実行可能ファイルのフルパス名を記憶するためにハッシュテーブルを使用する(以下の「シェル組み込みコマンド」の「ハッシュ」を参照)。 PATH内のディレクトリの完全な検索は、ハッシュテーブルでコマンドが見つからなかった場合にのみ実行される。 検索に失敗した場合、シェルはcommand_not_found_handleという名前の定義されたシェル関数を検索する。 その関数が存在する場合、元のコマンドと元のコマンドの引数を引数として別の実行環境で呼び出され、その関数の終了ステータスがそのサブシェルの終了ステータスになる。 その関数が定義されていない場合、シェルはエラー・メッセージを表示し、終了ステータス127を返す。 |
|
| |
|
| • various process IDs, including those of background jobs, the value of $$, and the value of
| | 検索に成功した場合、またはコマンド名に1つ以上のスラッシュが含まれている場合、シェルは指定されたプログラムを別の実行環境で実行する。 引数0は与えられた名前に設定され、コマンドの残りの引数は、もしあれば与えられた引数に設定される。 |
| PPID
| |
|
| |
|
| When a simple command other than a builtin or shell function is to be executed, it is invoked in
| | ファイルが実行可能形式でなく、ファイルがディレクトリでないためにこの実行が失敗した場合、それはシェルスクリプト(シェルコマンドを含むファイル)であると仮定される。 それを実行するためにサブシェルが生成される。 このサブシェルは自分自身を再初期化するので、あたかも新しいシェルがスクリプトを処理するために呼び出されたかのような効果が得られるが、例外として、親が記憶しているコマンドの位置(後述の[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]のハッシュを参照)は子シェルに保持される。 |
| 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
| | プログラムが<nowiki>#!</nowiki>で始まるファイルである場合、最初の行の残りはプログラムのインタープリタを指定する。 シェルは、この実行形式を扱わないオペレーティングシステム上で、指定されたインタプリタを実行する。 インタプリタへの引数は、プログラムの1行目のインタプリタ名に続く1つのオプション引数、プログラム名、コマンド引数(もしあれば)の順で構成される。 |
| the command
| |
|
| |
|
| • the current working directory
| | == COMMAND EXECUTION ENVIRONMENT == |
| | シェルは以下の実行環境を持つ: |
|
| |
|
| • the file creation mode mask
| | * 起動時にシェルに継承されるオープンファイル、および exec 組み込み関数に供給されるリダイレクションによって変更されるオープンファイル。 |
| | * cd、pushd、または popd によって設定されるか、起動時にシェルによって継承されるカレント作業ディレクトリ。 |
| | umaskによって設定されるか、シェルの親から継承されるファイル作成モードマスク |
| | * trapによって設定される現在のトラップ |
| | * 変数代入またはsetで設定された、またはシェルの親から継承された 環境中のシェルパラメータ |
| | * 実行中に定義された、またはシェル親環境から継承されたシェル関数 |
| | * (デフォルトまたはコマンドライン引数で)起動時に有効化されるオプション、 または set で有効化されるオプション。 |
| | * shoptで有効になるオプション |
| | * aliasで定義されたシェルのエイリアス |
| | * バックグラウンド・ジョブ、$$の値、PPIDの値を含む様々なプロセスID |
|
| |
|
| • 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
| | コマンド置換、括弧でグループ化されたコマンド、および非同期コマンドは、シェルによって捕捉されたトラップが、シェルが起動時に親から継承した値にリセットされることを除いて、シェル環境の複製であるサブシェル環境で起動される。 |
| 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
| | コマンド置換を実行するために生成されたサブシェルは、親シェルから -e オプションの値を継承する。 posix モードでない場合、bash はそのようなサブシェルで -e オプションをクリアする。 |
| 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
| | コマンドの後に&が続き、ジョブ制御がアクティブでない場合、コマンドのデフォルト標準入力は空のファイル<u>/dev/null</u>になる。 それ以外の場合、呼び出されたコマンドは、リダイレクトによって変更された呼び出し元のシェルのファイル記述子を継承する。 |
| 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 2,518: |
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 2,530: |
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
| |
| 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 has variables that can be used to further customize its behavior. A variable may be set
| |
| in the inputrc file with a statement of the form
| |
|
| |
|
| set variable-name value
| | Bashでは、bind組み込みコマンドを使用して、現在のreadlineキーバインディングを表示または変更できる。 編集モードは、set builtinコマンドの-oオプションを使用することで、インタラクティブな使用中に切り替えることができる(後述の「[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]」を参照)。 |
| 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).
| | === Readline Variables === |
| Unrecognized variable names are ignored. When a variable value is read, empty or null values,
| | Readlineには、その動作をさらにカスタマイズするために使用できる変数がある。 変数は、inputrcファイルに次のような形式で設定することができる。 |
| "on" (case-insensitive), and "1" are equivalent to On. All other values are equivalent to Off.
| | :set variable-name value |
| The variables and their default values are:
| | またはbind組み込みコマンドを使用する(下記の「[[#SHELL BUILTIN COMMANDS|SHELL BUILTIN COMMANDS ]]」を参照)。 |
|
| |
|
| bell-style (audible)
| | 注意書きがある場合を除き、readline変数は(大文字小文字を区別せずに)OnまたはOffの値を取ることができる。認識できない変数名は無視される。 変数の値が読み込まれるとき、空またはヌル値、"on"(大文字小文字を区別しない)、"1 "は On と等価である。 その他の値はすべて Off と同じである。変数とそのデフォルト値は以下の通りである: |
| Controls what happens when readline wants to ring the terminal bell. If set to none,
| |
| readline never rings the bell. If set to visible, readline uses a visible bell if one is
| |
| available. If set to audible, readline attempts to ring the terminal's bell.
| |
| bind-tty-special-chars (On)
| |
| If set to On, readline attempts to bind the control characters treated specially by the
| |
| kernel's terminal driver to their readline equivalents.
| |
| blink-matching-paren (Off)
| |
| If set to On, readline attempts to briefly move the cursor to an opening parenthesis when
| |
| a closing parenthesis is inserted.
| |
| colored-completion-prefix (Off)
| |
| If set to On, when listing completions, readline displays the common prefix of the set of
| |
| possible completions using a different color. The color definitions are taken from the
| |
| value of the LS_COLORS environment variable.
| |
| colored-stats (Off)
| |
| If set to On, readline displays possible completions using different colors to indicate
| |
| their file type. The color definitions are taken from the value of the LS_COLORS environ‐
| |
| ment variable.
| |
| comment-begin (``#'')
| |
| The string that is inserted when the readline insert-comment command is executed. This
| |
| command is bound to M-# in emacs mode and to # in vi command mode.
| |
| completion-display-width (-1)
| |
| The number of screen columns used to display possible matches when performing completion.
| |
| The value is ignored if it is less than 0 or greater than the terminal screen width. A
| |
| value of 0 will cause matches to be displayed one per line. The default value is -1.
| |
| completion-ignore-case (Off)
| |
| If set to On, readline performs filename matching and completion in a case-insensitive
| |
| fashion.
| |
| completion-map-case (Off)
| |
| If set to On, and completion-ignore-case is enabled, readline treats hyphens (-) and un‐
| |
| derscores (_) as equivalent when performing case-insensitive filename matching and comple‐
| |
| tion.
| |
| completion-prefix-display-length (0)
| |
| The length in characters of the common prefix of a list of possible completions that is
| |
| displayed without modification. When set to a value greater than zero, common prefixes
| |
| longer than this value are replaced with an ellipsis when displaying possible completions.
| |
| completion-query-items (100)
| |
| This determines when the user is queried about viewing the number of possible completions
| |
| generated by the possible-completions command. It may be set to any integer value greater
| |
| than or equal to zero. If the number of possible completions is greater than or equal to
| |
| the value of this variable, readline will ask whether or not the user wishes to view them;
| |
| otherwise they are simply listed on the terminal.
| |
| convert-meta (On)
| |
| If set to On, readline will convert characters with the eighth bit set to an ASCII key se‐
| |
| quence by stripping the eighth bit and prefixing an escape character (in effect, using es‐
| |
| cape as the meta prefix). The default is On, but readline will set it to Off if the lo‐
| |
| cale contains eight-bit characters.
| |
| disable-completion (Off)
| |
| If set to On, readline will inhibit word completion. Completion characters will be in‐
| |
| serted into the line as if they had been mapped to self-insert.
| |
| echo-control-characters (On)
| |
| When set to On, on operating systems that indicate they support it, readline echoes a
| |
| character corresponding to a signal generated from the keyboard.
| |
| editing-mode (emacs)
| |
| Controls whether readline begins with a set of key bindings similar to Emacs or vi. edit‐
| |
| ing-mode can be set to either emacs or vi.
| |
| emacs-mode-string (@)
| |
| If the show-mode-in-prompt variable is enabled, this string is displayed immediately be‐
| |
| fore the last line of the primary prompt when emacs editing mode is active. The value is
| |
| expanded like a key binding, so the standard set of meta- and control prefixes and back‐
| |
| slash 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 control sequence into
| |
| the mode string.
| |
| enable-bracketed-paste (On)
| |
| When set to On, readline will configure the terminal in a way that will enable it to in‐
| |
| sert each paste into the editing buffer as a single string of characters, instead of
| |
| treating each character as if it had been read from the keyboard. This can prevent pasted
| |
| characters from being interpreted as editing commands.
| |
| enable-keypad (Off)
| |
| When set to On, readline will try to enable the application keypad when it is called.
| |
| Some systems need this to enable the arrow keys.
| |
| enable-meta-key (On)
| |
| When set to On, readline will try to enable any meta modifier key the terminal claims to
| |
| support when it is called. On many terminals, the meta key is used to send eight-bit
| |
| characters.
| |
| expand-tilde (Off)
| |
| If set to On, tilde expansion is performed when readline attempts word completion.
| |
| history-preserve-point (Off)
| |
| If set to On, the history code attempts to place point at the same location on each his‐
| |
| tory line retrieved with previous-history or next-history.
| |
| history-size (unset)
| |
| 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
| | ;bell-style (audible) |
| Readline implements a facility similar in spirit to the conditional compilation features of the C
| | :readlineが端末のベルを鳴らそうとするときの動作を制御する。 noneに設定すると、readlineはベルを鳴らさない。 visible に設定すると、readline はベルがあればそれを使う。 audibleに設定すると、readlineは端末のベルを鳴らそうとする。 |
| preprocessor which allows key bindings and variable settings to be performed as the result of
| | ;bind-tty-special-chars (On) |
| tests. There are four parser directives used.
| | :Onに設定すると、readlineは、カーネルの端末ドライバで特別に扱われる制御文字を、readlineに相当する文字にバインドしようとする。 |
| | ;blink-matching-paren (Off) |
| | :Onに設定すると、readlineは、閉じ括弧が挿入されたときに、カーソルを開始括弧に短時間移動させようとする。 |
| | ;colored-completion-prefix (Off) |
| | :Onに設定すると、補完候補を一覧表示する際に、readlineは補完候補の共通接頭辞を別の色で表示する。 色の定義は'''LS_COLORS'''環境変数の値から取られる。 |
| | ;colored-stats (Off) |
| | :Onに設定すると、readlineは、ファイルの種類を示すために、可能性のある補完を異なる色で表示する。 色の定義は、'''LS_COLORS'''環境変数の値から取られる。 |
| | ;comment-begin (``#'') |
| | :readline insert-commentコマンド実行時に挿入される文字列。 このコマンドはemacsモードではM-#に、viコマンドモードでは#にバインドされる。 |
| | ;completion-display-width (-1) |
| | :補完を実行するときに、マッチする可能性のあるものを表示するために使われる画面の列数。この値が 0 より小さいか、端末の画面幅より大きい場合は無視される。 0を指定すると、マッチは1行に1つずつ表示される。 デフォルト値は -1 である。 |
| | ;completion-ignore-case (Off) |
| | :Onに設定すると、readlineは大文字小文字を区別せずにファイル名のマッチングと補完を行う。 |
| | ;completion-map-case (Off) |
| | :Onに設定し、補完-大文字小文字を区別しないを有効にすると、大文字小文字を区別しないファイル名のマッチングと補完を行う際に、readlineはハイフン(-)とアンダースコア(_)を等価なものとして扱う。 |
| | ;completion-prefix-display-length (0) |
| | :補完可能リストをそのまま表示する場合の、共通接頭辞の文字数。 ゼロより大きい値に設定すると、この値より長い共通接頭辞は、可能な補完を表示する際に省略記号に置き換えられる。 |
| | ;completion-query-items (100) |
| | :これは、possible-completionsコマンドによって生成された可能な完了の数の表示について、ユーザーに問い合わせがあったときに決定する。 0以上の任意の整数値を設定することができる。 可能な補完の数がこの変数の値以上であれば、readlineはユーザーがそれらを表示したいかどうかを尋ねる。 |
| | ;convert-meta (On) |
| | :Onに設定すると、readlineは8ビット目が設定された文字をASCIIキーシーケンスに変換し、8ビット目を除去してエスケープ文字を先頭に付ける(事実上、エスケープをメタプレフィックスとして使用する)。 デフォルトはOnであるが、ロケールに8ビット文字が含まれている場合、readlineはこれをOffに設定する。 |
| | ;disable-completion (Off) |
| | :Onに設定すると、readlineは単語の補完を禁止する。 補完文字は、あたかも自己挿入にマップされているかのように行に挿入される。 |
| | ;echo-control-characters (On) |
| | :Onに設定すると、サポートしていることを示すオペレーティング・システム上で、readlineはキーボードから生成された信号に対応する文字をエコーする。 |
| | ;editing-mode (emacs) |
| | :editing-modeはemacsかviのどちらかに設定できる。 |
| | ;emacs-mode-string (@) |
| | :show-mode-in-prompt変数が有効な場合、emacs編集モードが有効なとき、この文字列はプライマリプロンプトの最終行の直前に表示される。 この値はキーバインディングのように展開されるので、標準的なメタプレフィックスとコントロールプレフィックス、バックスラッシュエスケープシーケンスのセットが利用できる。 印刷されない文字のシーケンスの開始と終了には、"emacs1 "と "emacs2 "エスケープを使用し、端末制御シーケンスをモード文字列に埋め込むことができる。 |
| | ;enable-bracketed-paste (On) |
| | :Onに設定すると、readlineは、ペーストされた各文字をキーボードから読み込んだものとして扱うのではなく、1つの文字列として編集バッファに挿入できるように端末を設定する。 これにより、ペーストされた文字が編集コマンドとして解釈されるのを防ぐことができる。 |
| | ;enable-keypad (Off) |
| | :Onに設定すると、readlineが呼び出されたときに、アプリケーションのキーパッドを有効にしようとする。システムによっては、矢印キーを有効にするためにこれが必要である。 |
| | ;enable-meta-key (On) |
| | :Onに設定すると、readlineが呼び出されたときに、端末がサポートしていると主張するメタ修飾キーを有効にしようとする。 多くの端末では、メタ・キーは8ビット文字の送信に使われる。 |
| | ;expand-tilde (Off) |
| | :Onに設定すると、readlineが単語補完を試みる際にチルダ展開が行われる。 |
| | ;history-preserve-point (Off) |
| | :Onに設定されている場合、ヒストリーコードは、previous-historyまたはnext-historyで検索された各ヒストリー行の同じ位置にポイントを配置しようとする。 |
| | ;history-size (unset) |
| | :履歴リストに保存される履歴エントリーの最大数を設定する。 ゼロに設定した場合、既存の履歴エントリーはすべて削除され、 新しいエントリーは保存されない。 ゼロ未満の値を設定すると、ヒストリエントリの数は制限されない。 デフォルトでは、ヒストリエントリ数はシェル変数HISTSIZEの値に設定される。 history-sizeに数値以外の値を設定しようとすると、ヒストリエントリの最大数は500に設定される。 |
| | ;horizontal-scroll-mode (Off) |
| | :Onに設定すると、readlineは1行で表示するようになり、入力が画面幅より長くなると、改行するのではなく、画面1行で水平方向にスクロールするようになる。 この設定は、高さ1の端末では自動的に有効になる。 |
| | ;input-meta (Off) |
| | :Onに設定された場合、readlineは8ビット入力を有効にする(つまり、読み取った文字から8ビット目を取り除かない)。meta-flagという名前は、この変数の同義語である。 デフォルトはOffであるが、ロケールに8ビット文字が含まれている場合、readlineはこれをOnに設定する。 |
| | ;isearch-terminators <nowiki>(``C-[C-J'')</nowiki> |
| | :その文字をコマンドとして実行せずにインクリメンタルサーチを終了させる文字列。 この変数に値が与えられていない場合、文字 ESC と C-J がインクリメンタルサーチを終了する。 |
| | ;keymap (emacs) |
| | :現在のreadlineキーマップを設定する。 有効なキーマップ名は、emacs、emacs-standard、 emacs-meta、emacs-ctlx、vi、vi-command、vi-insertである。 デフォルト値はemacsである。editing-modeの値はデフォルトのキーマップにも影響する。 |
| | ;keyseq-timeout (500) |
| | :曖昧なキーシーケンス(これまでに読み込まれた入力を使って完全なキーシーケンスを形成できるもの、または、より長いキーシーケンスを完成させるために追加入力を必要とするもの)を読み込む際に、readlineが文字を待つ時間を指定する。 タイムアウト時間内に入力がない場合、readlineは短いが完全なキーシーケンスを使用する。 値はミリ秒単位で指定されるので、1000という値は、readlineが追加入力を1秒待つことを意味する。 この変数に0以下の値、または数値以外の値が設定された場合、readlineは他のキーが押されるまで待ち、どのキーシーケンスを完了させるかを決定する。 |
| | ;mark-directories (On) |
| | :Onに設定すると、完成したディレクトリ名にスラッシュが付加される。 |
| | ;mark-modified-lines (Off) |
| | :Onに設定すると、変更されたヒストリー行は、その前にアスタリスク(*)をつけて表示される。 |
| | ;mark-symlinked-directories (Off) |
| | :Onに設定すると、ディレクトリへのシンボリックリンクである完了した名前にスラッシュが付加される(mark-directoriesの値に従う)。 |
| | ;match-hidden-files (On) |
| | :この変数を On に設定すると、readline がファイル名補完を行うときに、ファイル名が `.' で始まるファイル (隠しファイル) にマッチするようになる。 Offに設定すると、補完するファイル名の先頭の `.' はユーザーが与えなければならない。 |
| | ;menu-complete-display-prefix (Off) |
| | :Onに設定すると、メニュー補完は、リストを循環する前に、補完可能なリストの共通接頭辞(空でもよい)を表示する。 |
| | ;output-meta (Off) |
| | :Onに設定すると、readlineはメタ接頭辞付きエスケープシーケンスとしてではなく、8ビット目が直接設定された文字を表示する。 デフォルトはOffであるが、ロケールに8ビット文字が含まれている場合、readlineはこれをOnに設定する。 |
| | ;page-completions (On) |
| | :Onに設定すると、readlineは内部のmore-likeページャーを使って、一度に画面いっぱいの完了候補を表示する。 |
| | ;print-completions-horizontally (Off) |
| | :Onに設定すると、readlineは、マッチした選手を画面の下ではなく、アルファベット順に水平にソートして表示する。 |
| | ;revert-all-at-newline (Off) |
| | :Onに設定すると、readlineはaccept-lineが実行されたときに戻る前に、履歴行のすべての変更を取り消す。 デフォルトでは、履歴行は変更される可能性があり、readlineの呼び出しにまたがって個々の取り消しリストを保持する。 |
| | ;show-all-if-ambiguous (Off) |
| | :これは補完関数のデフォルトの動作を変更する。 Onに設定すると、複数の補完候補がある単語は、ベルを鳴らす代わりに、マッチした単語を即座にリストアップする。 |
| | ;show-all-if-unmodified (Off) |
| | :これはshow-all-if-ambiguousに似た方法で、補完関数のデフォルトの動作を変更する。 Onに設定すると、部分補完の可能性がなく(補完の可能性が共通の接頭辞を持たない)、複数の補完の可能性がある単語は、ベルを鳴らす代わりに、マッチした単語を即座にリストアップする。 |
| | ;show-mode-in-prompt (Off) |
| | :Onに設定された場合、編集モードを示す文字列をプロンプトの先頭に追加する: emacs、viコマンド、vi挿入。 モード文字列は、ユーザー設定可能である(例えば、emacs-mode-string)。 |
| | ;skip-completed-text (Off) |
| | :Onに設定すると、単一一致を行に挿入する際のデフォルトの補完動作を変更する。 単語の途中で補完を行う場合にのみ有効である。 有効にすると、readlineは補完された文字が、補完された単語内のポイント以降の文字にマッチしても挿入しないので、カーソルに続く単語の一部が重複しない。 |
| | ;vi-cmd-mode-string ((cmd)) |
| | :show-mode-in-prompt変数が有効な場合、この文字列は、vi編集モードが有効でコマンドモードのとき、プライマリプロンプトの最終行の直前に表示される。 この値は、キーバインディングのように展開されるので、標準的なメタとコントロールの接頭辞とバックスラッシュエスケープシーケンスのセットが利用できる。 非印字文字のシーケンスの開始と終了には、"˶1 "と"˶2 "エスケープを使用する。"˶1 "と"˶2 "エスケープは、端末制御シーケンスをモード文字列に埋め込むために使用できる。 |
| | ;vi-ins-mode-string ((ins)) |
| | :show-mode-in-prompt変数が有効な場合、この文字列は、vi編集モードが有効で挿入モードのとき、主プロンプトの最終行の直前に表示される。 この値は、キーバインディングのように展開されるので、標準的なメタとコント ロール接頭辞のセットとバックスラッシュ・エスケープ・シーケンスが利用できる。 非印字文字のシーケンスの開始と終了には、ⅳ1とⅳ2エスケープを使用する。 |
| | ;visible-stats (Off) |
| | :On に設定すると、 [https://manpages.debian.org/unstable/manpages-dev/stat.2.en.html stat](2) が報告するファイルのタイプを示す文字が、 補完の可能性をリストする際にファイル名に付加される。 |
|
| |
|
| $if The $if construct allows bindings to be made based on the editing mode, the terminal being
| | === Readline Conditional Constructs === |
| used, or the application using readline. The text of the test, after any comparison oper‐
| | Readlineは、Cプリプロセッサの条件付きコンパイル機能に似た機能を実装しており、テストの結果としてキーバインディングや変数設定を実行することができる。 使用されるパーサ・ディレクティブは4つある。 |
| 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
| | ;$if |
| vi mode. This may be used in conjunction with the set keymap command, for in‐
| | :$if構文では、編集モード、使用中の端末、readlineを使用するアプリケーションに 基づいてバインディングを行うことができる。 比較演算子の後のテスト・テキストは行末まで続く。 |
| 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
| | :;mode |
| bind the key sequences output by the terminal's function keys. The word on the
| | ::ifディレクティブのmode=は、readlineがemacsモードかviモードかをテストするために使われる。 これは、例えば、readlineがemacsモードで起動している場合にのみ、emacs-standardとemacs-ctlxのキーマップのバインディングを設定するために、set keymapコマンドと組み合わせて使用することができる。 |
| 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
| | :;term |
| The version test may be used to perform comparisons against specific readline ver‐
| | ::term=形式は、端末固有のキーバインディングを含めるために使用される。おそらく、 端末のファンクションキーが出力するキーシーケンスをバインドするためであろう。 の右側の単語は、端末のフルネームと、端末名の最初の - より前の部分の両方に対してテストされる。 これにより、例えばsunはsunとsun-cmdの両方にマッチする。 |
| 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
| | :;version |
| The application construct is used to include application-specific settings. Each
| | ::バージョン・テストは、特定のリードライン・バージョンとの比較を実行するために使用することができる。 バージョンは現在のリードラインバージョンに展開される。 比較演算子のセットには、=、(と==)、<nowiki>!=、<=、>=、<、></nowiki>がある。 演算子の右側に与えられるバージョン番号は、メジャーバージョン番号、オプションの小数点、オプションのマイナーバージョン(例えば、7.1)から構成される。マイナーバージョンが省略された場合、それは0であると仮定される。演算子は、文字列バージョンと空白によってバージョン番号の引数から分離することができる。 |
| 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.
| |
|
| |
|
| $else Commands in this branch of the $if directive are executed if the test fails.
| | ;$endif |
| | :このコマンドは、前の例で見たように、$ifコマンドを終了させる。 |
|
| |
|
| $include
| | ;$else |
| This directive takes a single filename as an argument and reads commands and bindings from
| | :$ifディレクティブのこのブランチにあるコマンドは、テストが失敗した場合に実行される。 |
| 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 3,296: |
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 シェルオプションが有効になっている場合) が続く場合を除き、履歴置換を開始する。 |
| | ;!n |
| | :コマンドラインnを参照のこと。 |
| | ;!-n |
| | :現在のコマンドマイナスnを参照。 |
| | ;!! |
| | :前のコマンドを参照のこと。 これは `!-1' と同意語である。 |
| | ;!string |
| | :文字列で始まる履歴リストで、現在の位置より前にある最新のコマンドを参照する。 |
| | ;!?string<nowiki>[?]</nowiki> |
| | :stringを含む履歴リストで、現在の位置より前にある最新のコマンドを参照する。 stringの直後に改行が続く場合、末尾の ? は省略できる。 stringがない場合、最新の検索文字列が使われる。以前の検索文字列がない場合はエラーとなる。 |
| | ;^string1^string2^ |
| | :素早く置換する。 文字列1を文字列2に置き換えて、前のコマンドを繰り返す。 (以下の[[#Modifiers|Modifiers ]]を参照のこと)。 |
| | ;!# |
| | :これまでに入力されたコマンドライン全体。 |
|
| |
|
| ! Start a history substitution, except when followed by a blank, newline, carriage return, =
| | === Word Designators === |
| or ( (when the extglob shell option is enabled using the shopt builtin).
| | 単語指定子は、イベントから必要な単語を選択するために使用される。 は、イベントの指定と単語指示子を区切る。 単語指定子が^、$、*、-、%で始まる場合は省略できる。 単語は行頭から順に番号付けされ、最初の単語は0(ゼロ)で示される。 単語は、現在の行に半角スペースで区切って挿入される。 |
| !n Refer to command line n.
| |
| !-n Refer to the current command minus n.
| |
| !! Refer to the previous command. This is a synonym for `!-1'.
| |
| !string
| |
| Refer to the most recent command preceding the current position in the history list start‐
| |
| ing with string.
| |
| !?string[?]
| |
| Refer to the most recent command preceding the current position in the history list con‐
| |
| taining string. The trailing ? may be omitted if string is followed immediately by a new‐
| |
| line. If string is missing, the string from the most recent search is used; it is an er‐
| |
| 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
| | ;0 (zero) |
| Word designators are used to select desired words from the event. A : separates the event speci‐
| | :番目の単語。 シェルでは、これはコマンドワードである。 |
| fication from the word designator. It may be omitted if the word designator begins with a ^, $,
| | ;n |
| *, -, or %. Words are numbered from the beginning of the line, with the first word being denoted
| | :The nth word. |
| by 0 (zero). Words are inserted into the current line separated by single spaces.
| | ;^ |
| | :最初の引数。 つまり単語1である。 |
| | ;$ |
| | :最後の単語。 これは通常最後の引数だが、行に単語が1つしかない場合は0番目の単語に展開される。 |
| | ;% |
| | :検索文字列が単語の一部である文字で始まっている場合、直近の `?string?' 検索でマッチした最初の単語。 |
| | ;x-y |
| | :'-y'は'0-y'を省略したものである。 |
| | ;* |
| | :0番目以外のすべての単語。 これは `1-$' と同意語である。 その場合は空文字列が返される。 |
| | ;x* |
| | :Abbreviates x-$. |
| | ;x- |
| | :x*のようにx-$を省略するが、最後の単語は省略する。 xがない場合、デフォルトは0になる。 |
|
| |
|
| 0 (zero)
| | イベント指定なしで単語指定子を与えた場合、前のコマンドがイベントとして使用される。 |
| The zeroth word. For the shell, this is the command word.
| |
| n The nth word.
| |
| ^ The first argument. That is, word 1.
| |
| $ The last word. This is usually the last argument, but will expand to the zeroth word if
| |
| there is only one word in the line.
| |
| % The first word matched by the most recent `?string?' search, if the search string begins
| |
| with a character that is part of a word.
| |
| 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
| |
| * if there is just one word in the event; the empty string is returned in that case.
| |
| x* Abbreviates x-$.
| |
| x- Abbreviates x-$ like x*, but omits the last word. If x is missing, it defaults to 0.
| |
|
| |
|
| If a word designator is supplied without an event specification, the previous command is used as
| | === Modifiers === |
| the event.
| | オプションの単語指示子の後には、それぞれ`:'で始まる1つ以上の修飾子が現れる。 これらは、履歴イベントから選択された単語を修正する。 |
|
| |
|
| Modifiers
| | ;h |
| After the optional word designator, there may appear a sequence of one or more of the following
| | :末尾のファイル名コンポーネントを削除し、先頭だけを残す。 |
| modifiers, each preceded by a `:'. These modify, or edit, the word or words selected from the
| | ;t |
| history event.
| | :ファイル名の先頭をすべて削除し、末尾を残す。 |
| | ;r |
| | :.xxx 形式の末尾のサフィックスを削除し、ベース名を残す。 |
| | ;e |
| | :末尾の接尾辞以外はすべて削除する。 |
| | ;p |
| | :新しいコマンドを表示するが、実行はしない。 |
| | ;q |
| | :置換された単語を引用し、それ以上の置換を避ける。 |
| | ;x |
| | :qと同様に置換された単語を引用するが、空白と改行で単語を区切る。 q修飾子とx修飾子は互いに排他的であり、最後に与えられたものが使われる。 |
| | ;s/old/new/ |
| | :イベント行で最初に出現するoldをnewに置き換える。 最後のデリミタは、イベント行の最後の文字であれば任意である。 デリミタは、バックスラッシュ1つでoldとnewで引用することができる。 もし&がnewに現れた場合、それはoldに置き換えられる。 シングル・バックスラッシュは&を引用符で囲む。 oldがNULLの場合、最後に置換されたoldに設定され、それ以前に履歴の置換が行われなかった場合は、!?string[?]検索の最後の文字列に設定される。 newがNULLの場合、一致するoldはすべて削除される。 |
| | ;& |
| | :前の置換を繰り返す。 |
| | ;g |
| | :変更をイベント行全体に適用する。 これは `:s' (例えば `:gs/old/new/') または `:&' と組み合わせて使う。 s' と一緒に使う場合、/の代わりにどんな区切り文字でも使うことができ、最後の区切り文字がイベント行の最後の文字であれば省略可能である。 gの同義語としてaを使うこともできる。 |
| | ;G |
| | :以下の`s'または`&'修飾子をイベント行の各単語に1回ずつ適用する。 |
|
| |
|
| h Remove a trailing filename component, leaving only the head.
| | == SHELL BUILTIN COMMANDS == |
| t Remove all leading filename components, leaving the tail.
| | 特に断りのない限り、このセクションでオプションを受け付けるとして文書化されている各 組み込みコマンドは、オプションの終わりを示す -- を受け付ける。 test/[、true、false、test/[ 組み込み関数はオプションを受け付けず、 -- を特別に扱わない。 exit、logout、return、break、continue、let、shift 組み込み関数は、-- を必要とせずに - で始まる引数を受け入れ処理する。 |
| r Remove a trailing suffix of the form .xxx, leaving the basename.
| | 引数を受け付けるがオプションを受け付けるように指定されていない他の組み込み関数は、 - で始まる引数を無効なオプションとして解釈し、この解釈を防ぐために -- を要求する。 |
| e Remove all but the trailing suffix.
| | ;<nowiki>: [arguments]</nowiki> |
| p Print the new command but do not execute it.
| | :コマンドは引数を展開し、指定されたリダイレクションを実行するだけで、何もしない。 リターンステータスは0である。 |
| q Quote the substituted words, escaping further substitutions.
| |
| x Quote the substituted words as with q, but break into words at blanks and newlines. The q
| |
| and x modifiers are mutually exclusive; the last one supplied is used.
| |
| s/old/new/
| |
| Substitute new for the first occurrence of old in the event line. Any character may be
| |
| used as the delimiter in place of /. The final delimiter is optional if it is the last
| |
| character of the event line. The delimiter may be quoted in old and new with a single
| |
| backslash. If & appears in new, it is replaced by old. A single backslash will quote the
| |
| &. If old is null, it is set to the last old substituted, or, if no previous history sub‐
| |
| stitutions took place, the last string in a !?string[?] search. If new is null, each
| |
| matching old is deleted.
| |
| & 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
| |
| place of /, and the final delimiter is optional if it is the last character of the event
| |
| line. An a may be used as a synonym for g.
| |
| G Apply the following `s' or `&' modifier once to each word in the event line.
| |
|
| |
|
| SHELL BUILTIN COMMANDS
| | ;<nowiki>. filename [arguments]</nowiki> |
| Unless otherwise noted, each builtin command documented in this section as accepting options pre‐
| | ;<nowiki>source filename [arguments]</nowiki> |
| ceded by - accepts -- to signify the end of the options. The :, true, false, and test/[ builtins
| | :現在のシェル環境で 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である。 |
| do not accept options and do not treat -- specially. The exit, logout, return, break, continue,
| |
| let, and shift builtins accept and process arguments beginning with - without requiring --.
| |
| 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>alias [-p] [name[=value] ...]</nowiki> |
| source filename [arguments]
| | :引数なし、または-pオプションを指定したAliasは、alias name=valueという形式でエイリアスのリストを標準出力に表示する。 引数が与えられると、値が与えられる各名称に対してエイリアスが定義される。 valueの末尾に空白があると、エイリアスが展開されるときに、次の単語でエイリアスの置換がチェックされる。 値が与えられていない引数リストの各名に対して、エイリアスの名前と値が表示される。 エイリアスが定義されていない名前が与えられない限り、Aliasは真を返す。 |
| Read and execute commands from filename in the current shell environment and return the
| |
| exit status of the last command executed from filename. If filename does not contain a
| |
| slash, filenames in PATH are used to find the directory containing filename. The file
| |
| searched for in PATH need not be executable. When bash is not in posix mode, the current
| |
| directory is searched if no file is found in PATH. If the sourcepath option to the shopt
| |
| builtin command is turned off, the PATH is not searched. If any arguments are supplied,
| |
| they become the positional parameters when filename is executed. Otherwise the positional
| |
| parameters are unchanged. If the -T option is enabled, source inherits any trap on DEBUG;
| |
| if it is not, any DEBUG trap string is saved and restored around the call to source, and
| |
| source unsets the DEBUG trap while it executes. If -T is not set, and the sourced file
| |
| changes the DEBUG trap, the new value is retained when source completes. The return 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>bg [jobspec ...]</nowiki> |
| Alias with no arguments or with the -p option prints the list of aliases in the form alias
| | :中断された各 jobspec をバックグラウンドで再開する。 jobspecが存在しない場合、シェルの現在のジョブの概念が使用される。 bg jobspecは、ジョブ制御が無効になっているときに実行されない限り0を返し、ジョブ制御が有効になっているときに実行された場合は、指定されたjobspecが見つからないか、ジョブ制御なしで開始された。 |
| 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>bind [-m keymap] [-lpsvPSVX]</nowiki> |
| Resume each suspended job jobspec in the background, as if it had been started with &. If
| | ;<nowiki>bind [-m keymap] [-q function] [-u function] [-r keyseq]</nowiki> |
| jobspec is not present, the shell's notion of the current job is used. bg jobspec returns
| | ;<nowiki>bind [-m keymap] -f filename</nowiki> |
| 0 unless run when job control is disabled or, when run with job control enabled, any spec‐
| | ;<nowiki>bind [-m keymap] -x keyseq:shell-command</nowiki> |
| ified jobspec was not found or was started without job control.
| | ;<nowiki>bind [-m keymap] keyseq:function-name</nowiki> |
| | ;<nowiki>bind [-m keymap] keyseq:readline-command</nowiki> |
| | :現在の readline キーと関数のバインディングを表示したり、キーシーケンスを readline 関数やマクロにバインドしたり、readline 変数を設定したりする。 オプション以外の各引数は、.inputrcに表示されるコマンドであるが、各バインディングまたはコマンドは、別の引数として渡されなければならない;例えば、'"˶-xC-r": re-read-init-file'. オプションが与えられた場合、以下の意味を持つ: |
| | ::;-m keymap |
| | :::後続のバインディングの影響を受けるキーマップとしてkeymapを使う。 使用可能なキーマップ名は、emacs、emacs-standard、 emacs-meta、emacs-ctlx、vi、vi-move、vi-command、vi-insertである。 viはvi-commandと等価であり(vi-moveも同義語である)、emacsは emacs-standardと等価である。 |
| | ::;-l |
| | :::すべてのreadline関数の名前を列挙する。 |
| | ::;-p |
| | :::readlineの関数名とバインディングを、再読込できるように表示する。 |
| | ::;-P |
| | :::現在のreadline関数名とバインディングをリストアップする。 |
| | ::;-s |
| | :::マクロにバインドされたreadlineキーシーケンスと、それらが出力する文字列を、再読み取りできるように表示する。 |
| | ::;-S |
| | :::マクロにバインドされたreadlineキーシーケンスと、それらが出力する文字列を表示する。 |
| | ::;-v |
| | :::リードラインの変数名と値を再読込できるように表示する。 |
| | ::;-V |
| | :::現在のリードライン変数の名前と値をリストアップする。 |
| | ::;-f filename |
| | :::ファイル名からキーバインディングを読み込む。 |
| | ::;-q function |
| | :::どのキーが指定された関数を呼び出すかを問い合わせる。 |
| | ::;-u function |
| | :::指定された関数にバインドされているすべてのキーをアンバインドする。 |
| | ::;-r keyseq |
| | :::keyseqの現在のバインディングを削除する。 |
| | ::;-x keyseq:shell-command |
| | :::keyseqが入力されるたびにシェルコマンドを実行させる。 shell-commandが実行されると、シェルは'''READLINE_LINE'''変数に読み取り行バッファの内容を設定し、'''READLINE_POINT'''変数と'''READLINE_MARK'''変数にそれぞれ現在の挿入位置と保存された挿入位置(マーク)を設定する。 実行されたコマンドが'''READLINE_LINE'''、'''READLINE_POINT'''、'''READLINE_MARK'''のいずれかの値を変更した場合、それらの新しい値は編集状態に反映される。 |
| | ::;-X |
| | :::シェルコマンドにバインドされているすべてのキーシーケンスと、関連するコマンドを、入力として再利用できる形式でリストアップする。 |
|
| |
|
| bind [-m keymap] [-lpsvPSVX]
| | :認識できないオプションが与えられるか、エラーが発生しない限り、戻り値は0である。 |
| bind [-m keymap] [-q function] [-u function] [-r keyseq]
| |
| bind [-m keymap] -f filename
| |
| bind [-m keymap] -x keyseq:shell-command
| |
| bind [-m keymap] keyseq:function-name
| |
| bind [-m keymap] keyseq:readline-command
| |
| Display current readline key and function bindings, bind a key sequence to a readline
| |
| function or macro, or set a readline variable. Each non-option argument is a command as
| |
| it would appear in .inputrc, but each binding or command must be passed as a separate ar‐
| |
| gument; e.g., '"\C-x\C-r": re-read-init-file'. Options, if supplied, have the following
| |
| meanings:
| |
| -m keymap
| |
| Use keymap as the keymap to be affected by the subsequent bindings. Acceptable
| |
| keymap names are emacs, emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,
| |
| vi-command, and vi-insert. vi is equivalent to vi-command (vi-move is also a syn‐
| |
| onym); emacs is equivalent to emacs-standard.
| |
| -l List the names of all readline functions.
| |
| -p Display readline function names and bindings in such a way that they can be re-
| |
| read.
| |
| -P List current readline function names and bindings.
| |
| -s Display readline key sequences bound to macros and the strings they output in such
| |
| a way that they can be re-read.
| |
| -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.
| |
| -V List current readline variable names and values.
| |
| -f filename
| |
| Read key bindings from filename.
| |
| -q function
| |
| Query about which keys invoke the named function.
| |
| -u function
| |
| Unbind all keys bound to the named function.
| |
| -r keyseq
| |
| Remove any current binding for keyseq.
| |
| -x keyseq:shell-command
| |
| Cause shell-command to be executed whenever keyseq is entered. When shell-command
| |
| is executed, the shell sets the READLINE_LINE variable to the contents of the read‐
| |
| line line buffer and the READLINE_POINT and READLINE_MARK variables to the current
| |
| location of the insertion point and the saved insertion point (the mark), 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.
| | ;break [n] |
| | :for、while、until、selectループの中で終了する。 nが指定された場合、nレベルブレークする。nは1以上でなければならない。 nがループの数より大きい場合、すべてのループが終了する。 nが1以上でなければ、戻り値は0である。 |
|
| |
|
| break [n]
| | ;<nowiki>builtin shell-builtin [arguments]</nowiki> |
| Exit from within a for, while, until, or select loop. If n is specified, break n levels.
| | :指定されたシェル組み込み関数に引数を渡して実行し、その終了ステータスを返す。これは、シェル組み込み関数と同じ名前の関数を定義し、関数内で組み込み関数の機能を保持する場合に便利である。 cd 組み込み関数は一般的にこの方法で再定義される。 shell-builtin がシェル組み込みコマンドでない場合、戻り値は false となる。 |
| 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>caller [expr]</nowiki> |
| Execute the specified shell builtin, passing it arguments, and return its exit status.
| | :アクティブなサブルーチン呼び出し(シェル関数、.または source 組み込み関数で実行されるスクリプト)のコンテキストを返す。 expr を指定しないと、呼び出し元は現在のサブルーチン呼び出しの行番号とソースファイル名を表示する。 exprとして負でない整数が指定された場合、呼び出し元は、現在の実行呼び出しスタックのその位置に対応する行番号、サブルーチン名、およびソースファイルを表示する。 この追加情報は、スタックトレースを表示する場合などに使用できる。 シェルがサブルーチン呼び出しを実行していないか、exprがコールスタックの有効な位置に対応していない場合を除き、戻り値は0である。 |
| 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>cd [-L|[-P [-e]] [-@]] [dir]</nowiki> |
| Returns the context of any active subroutine call (a shell function or a script executed
| | :dirが与えられない場合、'''HOME'''シェル変数の値が デフォルトとなる。 dirに続く追加の引数は無視される。 変数'''CDPATH'''は、dirを含むディレクトリの検索パスを定義する。 '''CDPATH'''内の代替ディレクトリ名は、コロン(:)で区切られる。 '''CDPATH'''内のディレクトリ名がNULLの場合、カレントディレクトリと同じ、つまり ``. dirがスラッシュ(/)で始まる場合、'''CDPATH'''は使われない。 -Pオプションをつけると、cdはdirを走査している間、dir中の...のインスタンスを処理する前にシンボリックリンクを解決して物理的なディレクトリ構造を使用するようになる(set組み込みコマンドの-Pオプションも参照のこと)。 .がdirに現れた場合、dirから直前のパス名コンポーネントを削除し、スラッシュまたはdirの先頭に戻して処理される。-Pとともに-eオプションが与えられ、ディレクトリ変更に成功した後にカレント作業ディレクトリを正しく決定できない場合、cdは失敗ステータスを返す。 これをサポートするシステムでは、-@オプションは、ファイルに関連する拡張属性をディレクトリとして表示する。 引数-は、ディレクトリの変更を試みる前に$OLDPWDに変換される。 '''CDPATH'''から空でないディレクトリ名が使用された場合、または - が最初の引数で、ディレクトリ変更が成功した場合、 新しい作業ディレクトリの絶対パス名が標準出力に書き出される。 戻り値は、ディレクトリの変更が成功した場合は真、そうでない場合は偽である。 |
| 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>command [-pVv] command [arg ...]</nowiki> |
| Change the current directory to dir. if dir is not supplied, the value of the HOME shell
| | :通常のシェル関数検索を抑制して、argsでコマンドを実行する。 組み込みコマンドまたは '''PATH''' で見つかったコマンドのみが実行される。 -pオプションが与えられると、標準ユーティリティがすべて見つかることが保証されている'''PATH'''のデフォルト値を用いてコマンドの検索が行われる。 -Vまたは-vオプションが与えられると、コマンドの説明が表示される。 -vオプションを指定すると、コマンドを呼び出すために使用されたコマンドまたはファイル名を示す単一の単語が表示される。 -Vまたは-vオプションが指定された場合、コマンドが見つかれば終了ステータスは0になり、見つからなければ1になる。 どちらのオプションも指定されず、エラーが発生したかコマンドが見つからなかった場合、終了ステータスは127となる。 それ以外の場合は、コマンド組み込み関数の終了ステータスが command の終了ステータスになる。 |
| 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>compgen [option] [word]</nowiki> |
| Run command with args suppressing the normal shell function lookup. Only builtin commands
| | :-pと-rを除く、complete組み込み関数が受け付けるどのオプションでもよい。 -F または -C オプションを使用する場合、プログラム可能な補完機能によって設定されるさまざまなシェル変数は使用可能であるが、有用な値を持たない。 |
| 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]
| | :マッチは、プログラマブル補完コードが同じフラグを持つ補完指定から直接生成したのと同じ方法で生成される。 wordが指定された場合、wordにマッチする補完のみが表示される。 |
| Generate possible completion matches for word according to the options, which may be any
| |
| option accepted by the complete builtin with the exception of -p and -r, and write the
| |
| matches to the standard output. When using the -F or -C options, the various shell 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
| |
| 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]
| |
| [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] name [name ...]
| |
| complete -pr [-DEI] [name ...]
| |
| Specify how arguments to each name should be completed. If the -p option is supplied, or
| |
| if no options are supplied, existing completion specifications are printed in a way that
| |
| allows them to be reused as input. The -r option removes a completion specification for
| |
| each name, or, if no names are supplied, all completion specifications. The -D option 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,
| |
| and -X options (and, if necessary, the -P and -S options) should be quoted to protect them
| |
| from expansion before the complete builtin is invoked.
| |
| -o comp-option
| |
| The comp-option controls several aspects of the compspec's behavior beyond the
| |
| simple generation of completions. comp-option may be one of:
| |
| bashdefault
| |
| Perform the rest of the default bash completions if the compspec generates
| |
| no matches.
| |
| default Use readline's default filename completion if the compspec generates no
| |
| matches.
| |
| dirnames
| |
| Perform directory name completion if the compspec generates no matches.
| |
| filenames
| |
| Tell readline that the compspec generates filenames, so it can perform any
| |
| filename-specific processing (like adding a slash to directory names,
| |
| quoting special characters, or suppressing trailing spaces). Intended to
| |
| be used with shell functions.
| |
| noquote Tell readline not to quote the completed words if they are filenames
| |
| (quoting filenames is the default).
| |
| 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
| |
| the end of the line.
| |
| plusdirs
| |
| After any matches defined by the compspec are generated, directory name
| |
| completion is attempted and any matches are added to the results of the
| |
| other actions.
| |
| -A action
| |
| The action may be one of the following to generate a list of possible completions:
| |
| alias Alias names. May also be specified as -a.
| |
| arrayvar
| |
| Array variable names.
| |
| binding Readline key binding names.
| |
| builtin Names of shell builtin commands. May also be specified as -b.
| |
| command Command names. May also be specified as -c.
| |
| directory
| |
| Directory names. May also be specified as -d.
| |
| disabled
| |
| Names of disabled shell builtins.
| |
| enabled Names of enabled shell builtins.
| |
| export Names of exported shell variables. May also be specified as -e.
| |
| file File names. May also be specified as -f.
| |
| function
| |
| Names of shell functions.
| |
| group Group names. May also be specified as -g.
| |
| helptopic
| |
| Help topics as accepted by the help builtin.
| |
| hostname
| |
| Hostnames, as taken from the file specified by the HOSTFILE shell vari‐
| |
| able.
| |
| job Job names, if job control is active. May also be specified as -j.
| |
| keyword Shell reserved words. May also be specified as -k.
| |
| running Names of running jobs, if job control is active.
| |
| service Service names. May also be specified as -s.
| |
| setopt Valid arguments for the -o option to the set builtin.
| |
| shopt Shell option names as accepted by the shopt builtin.
| |
| signal Signal names.
| |
| stopped Names of stopped jobs, if job control is active.
| |
| user User names. May also be specified as -u.
| |
| variable
| |
| Names of all shell variables. May also be specified as -v.
| |
| -C command
| |
| command is executed in a subshell environment, and its output is used as the pos‐
| |
| sible completions.
| |
| -F function
| |
| The shell function function is executed in the current shell environment. When
| |
| the function is executed, the first argument ($1) is the name of the command whose
| |
| arguments are being completed, the second argument ($2) is the word being com‐
| |
| pleted, and the third argument ($3) is the word preceding the word being completed
| |
| on the current command line. When it finishes, the possible completions are re‐
| |
| trieved from the value of the COMPREPLY array variable.
| |
| -G globpat
| |
| The pathname expansion pattern globpat is expanded to generate the possible com‐
| |
| pletions.
| |
| -P prefix
| |
| prefix is added at the beginning of each possible completion after all other op‐
| |
| tions have been applied.
| |
| -S suffix
| |
| suffix is appended to each possible completion after all other options have been
| |
| applied.
| |
| -W wordlist
| |
| The wordlist is split using the characters in the IFS special variable as delim‐
| |
| iters, and each resultant word is expanded. Shell quoting is honored within
| |
| 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
| |
| -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]
| |
| Modify completion options for each name according to the options, or for the currently-ex‐
| |
| 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]
| |
| Resume the next iteration of the enclosing for, while, until, or select loop. If n is
| |
| specified, resume at the nth enclosing loop. n must be ≥ 1. If n is greater than the
| |
| number of enclosing loops, the last enclosing loop (the ``top-level'' loop) is resumed.
| |
| The return value is 0 unless n is not greater than or equal to 1.
| |
| | |
| declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]
| |
| typeset [-aAfFgiIlnrtux] [-p] [name[=value] ...]
| |
| Declare variables and/or give them attributes. If no names are given then display the
| |
| values of variables. The -p option will display the attributes and values of each name.
| |
| When -p is used with name arguments, additional options, other than -f and -F, are ig‐
| |
| nored. When -p is supplied without name arguments, it will display the attributes and
| |
| values of all variables having the attributes specified by the additional options. If no
| |
| other options are supplied with -p, declare will display the attributes and values of all
| |
| shell variables. The -f option will restrict the display to shell functions. The -F op‐
| |
| tion inhibits the display of function definitions; only the function name and attributes
| |
| are printed. If the extdebug shell option is enabled using shopt, the source file name
| |
| and line number where each name is defined are displayed as well. The -F option implies
| |
| -f. The -g option forces variables to be created or modified at the global scope, even
| |
| when declare is executed in a shell function. It is ignored in all other cases. The -I
| |
| option causes local variables to inherit the attributes (except the nameref attribute) and
| |
| value of any existing variable with the same name at a surrounding scope. If there is no
| |
| existing variable, the local variable is initially unset. The following options can be
| |
| used to restrict output to variables with the specified attribute or to give variables at‐
| |
| tributes:
| |
| -a Each name is an indexed array variable (see Arrays above).
| |
| -A Each name is an associative array variable (see Arrays above).
| |
| -f Use function names only.
| |
| -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 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]
| |
| Without options, displays the list of currently remembered directories. The default dis‐
| |
| play is on a single line with directory names separated by spaces. Directories are added
| |
| to the list with the pushd command; the popd command removes entries from the list. The
| |
| current directory is always the first directory in the stack.
| |
| -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
| |
| denote the home directory.
| |
| -p Print the directory stack with one entry per line.
| |
| -v Print the directory stack with one entry per line, prefixing each entry with its
| |
| index in the stack.
| |
| +n Displays the nth entry counting from the left of the list shown by dirs when in‐
| |
| voked without options, starting with zero.
| |
| -n Displays the nth entry counting from the right of the list shown by dirs when in‐
| |
| voked without options, starting with zero.
| |
| | |
| The return value is 0 unless an invalid option is supplied or n indexes beyond the end of
| |
| the directory stack.
| |
| | |
| disown [-ar] [-h] [jobspec ... | pid ... ]
| |
| Without options, remove each jobspec from the table of active jobs. If jobspec is not
| |
| present, and neither the -a nor the -r option is supplied, the current job is used. If
| |
| the -h option is given, each jobspec is not removed from the table, but is marked so that
| |
| SIGHUP is not sent to the job if the shell receives a SIGHUP. If no jobspec is supplied,
| |
| the -a option means to remove or mark all jobs; the -r option without a jobspec argument
| |
| restricts operation to running jobs. The return value is 0 unless a jobspec does not
| |
| specify a valid job.
| |
| | |
| echo [-neE] [arg ...]
| |
| Output the args, separated by spaces, followed by a newline. The return status is 0 un‐
| |
| less a write error occurs. If -n is specified, the trailing newline is suppressed. If
| |
| the -e option is given, interpretation of the following backslash-escaped characters is
| |
| enabled. The -E option disables the interpretation of these escape characters, even on
| |
| systems where they are interpreted by default. The xpg_echo shell option may be used to
| |
| dynamically determine whether or not echo expands these escape characters by default.
| |
| echo does not interpret -- to mean the end of options. echo interprets the following es‐
| |
| cape sequences:
| |
| \a alert (bell)
| |
| \b backspace
| |
| \c suppress further output
| |
| \e
| |
| \E an escape character
| |
| \f form feed
| |
| \n new line
| |
| \r carriage return
| |
| \t horizontal tab
| |
| \v vertical tab
| |
| \\ backslash
| |
| \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)
| |
| \uHHHH the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value HHHH
| |
| (one to four hex digits)
| |
| \UHHHHHHHH
| |
| the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value HHHHHHHH
| |
| (one to eight hex digits)
| |
|
| |
|
| enable [-a] [-dnps] [-f filename] [name ...]
| | :無効なオプションが与えられるか、マッチが生成されない限り、戻り値は真である。 |
| Enable and disable builtin shell commands. Disabling a builtin allows a disk command
| |
| which has the same name as a shell builtin to be executed without specifying a full 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>complete [-abcdefgjksuv] [-o comp-option] [-DEI] [-A action] [-G globpat] [-W wordlist]</nowiki> |
| The args are read and concatenated together into a single command. This command is then
| | :;<nowiki>[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] name [name ...]</nowiki> |
| read and executed by the shell, and its exit status is returned as the value of eval. If
| | ;<nowiki>complete -pr [-DEI] [name ...]</nowiki> |
| there are no args, or only null arguments, eval returns 0.
| | :各名前に対する引数をどのように補完するかを指定する。 -pオプションが与えられている場合、またはオプションが与えられていない場合、既存の補完指定が入力として再利用できるような形で出力される。 rオプションは、各名前の補完指定を削除し、名前が与えられていない場合は、すべての補完指定を削除する。 -Dオプションは、他のオプションやアクションが``default''コマンドの 補完に適用されることを示す。 -Eオプションは他のオプションやアクションが``empty''コマンド補完に適用されることを示す。 -Iオプションは、他のオプションやアクションが、その行の最初の非割り当ての単語、またはコマンドの区切り文字(;や|など)の後の補完に適用されることを示す。 複数のオプションが指定された場合、-Dオプションは-Eよりも優先され、両者は-Iよりも優先される。 -D、-E、-Iのいずれかを指定すると、他の名前引数は無視される。 |
|
| |
|
| exec [-cl] [-a name] [command [arguments]]
| | :これらの補完は、オプションで指定された場合にのみ適用される。単語補完が試みられたときにこれらの補完指定を適用する処理については、上記の「プログラム可能な補完」で説明されている。 |
| If command is specified, it replaces the shell. No new process is created. The arguments
| |
| become the arguments to command. If the -l option is supplied, the shell places a dash at
| |
| the beginning of the zeroth argument passed to command. This is what login(1) does. The
| |
| -c option causes command to be executed with an empty environment. If -a is supplied, the
| |
| shell passes name as the zeroth argument to the executed command. If command cannot be
| |
| executed for some reason, a non-interactive shell exits, unless the execfail shell option
| |
| is enabled. In that case, it returns failure. An interactive shell returns failure if
| |
| the file cannot be executed. A subshell exits unconditionally if exec fails. If command
| |
| is not specified, any redirections take effect in the current shell, and the return status
| |
| is 0. If there is a redirection error, the return status is 1.
| |
|
| |
|
| exit [n]
| | :その他のオプションが指定されている場合は、以下の意味を持つ。 G、-W、-Xオプションの引数(必要であれば-Pと-Sオプションも) は、組み込み関数が起動する前に展開されないように引用符で囲む。 |
| Cause the shell to exit with a status of n. If n is omitted, the exit status is that of
| | :;-o comp-option |
| the last command executed. A trap on EXIT is executed before the shell terminates.
| | ::comp-optionは、単純な補完の生成だけでなく、compspecの動作のいくつかの側面を制御する: |
| | :::bashdefault |
| | ::::compspecがマッチを生成しなかった場合、残りのデフォルトのbash補完を実行する。 |
| | :::default |
| | ::::compspecがマッチを生成しない場合、readlineのデフォルトのファイル名補完を使用する。 |
| | :::dirnames |
| | ::::compspecがマッチを生成しない場合、ディレクトリ名の補完を行う。 |
| | :::filenames |
| | ::::readlineに、compspecがファイル名を生成することを伝え、ファイル名固有の処理(ディレクトリ名にスラッシュを追加したり、特殊文字を引用したり、末尾の空白を抑えたり)を実行できるようにする。 シェル関数と一緒に使うことを意図している。 |
| | :::noquote |
| | ::::readlineに、完了した単語がファイル名の場合は引用しないように指示する(ファイル名を引用するのがデフォルト)。 |
| | :::nosort |
| | ::::readlineに、補完可能リストをアルファベット順に並べ替えないように指示する。 |
| | :::nospace |
| | ::::readlineに、行末で完了した単語にスペース(デフォルト)を追加しないように指示する。 |
| | :::plusdirs |
| | ::::compspecで定義されたマッチが生成された後、ディレクトリ名の補完が試みられ、マッチしたものは他のアクションの結果に追加される。 |
| | :;-A action |
| | ::アクションは以下のいずれかであり、可能性のある完了のリストを生成する: |
| | :::alias |
| | ::::エイリアス名。 -aとして指定することもできる。 |
| | :::arrayvar |
| | ::::配列変数名。 |
| | :::binding |
| | ::::キーバインディング名を読み込む。 |
| | :::builtin |
| | ::::シェル組み込みコマンドの名前。 -bとしても指定できる。 |
| | :::command |
| | ::::コマンド名。 -cとしても指定できる。 |
| | :::directory |
| | ::::ディレクトリ名。 dとしても指定できる。 |
| | :::disabled |
| | ::::無効化されたシェルビルトインの名前。 |
| | :::enabled |
| | ::::使用可能なシェルビルトインの名前。 |
| | :::export |
| | ::::エクスポートされるシェル変数の名前。 -e として指定することもできる。 |
| | :::file |
| | ::::ファイル名。 -fを指定することもできる。 |
| | :::function |
| | ::::シェル関数の名前。 |
| | :::group |
| | ::::グループ名。 -gとしても指定できる。 |
| | :::helptopic |
| | ::::helpビルトインが受け付けるヘルプトピック。 |
| | :::hostname |
| | ::::HOSTFILEシェル変数で指定されたファイルから取られたホスト名。 |
| | :::job |
| | ::::ジョブ制御が有効な場合は、ジョブ名。 -jとしても指定できる。 |
| | :::keyword |
| | ::::シェル予約語。 -kとしても指定できる。 |
| | :::running |
| | ::::ジョブ制御が有効な場合、実行中のジョブの名前。 |
| | :::service |
| | ::::サービス名。 -sとしても指定できる。 |
| | :::setopt |
| | ::::set 組み込み関数に対する -o オプションの有効な引数。 |
| | :::shopt |
| | ::::shopt 組み込み関数が受け付けるシェルオプション名。 |
| | :::signal |
| | ::::シグナルの名前。 |
| | :::stopped |
| | ::::ジョブ制御が有効な場合、停止しているジョブの名前。 |
| | :::user |
| | ::::ユーザー名。 -uとしても指定できる。 |
| | :::variable |
| | ::::すべてのシェル変数の名前。 v として指定することもできる。 |
| | :;-C command |
| | ::コマンドはサブシェル環境で実行され、その出力が可能な補完として使われる。 |
| | :;-F function |
| | ::シェル関数関数は、現在のシェル環境で実行される。 この関数が実行されると、第1引数($1)は補完される引数のコマンド名、第2引数($2)は補完される単語、第3引数($3)は現在のコマンド行で補完される単語の前の単語である。 終了すると、COMPREPLY配列変数の値から可能な補完が検索される。 |
| | :;-G globpat |
| | ::パス名展開パターンglobpatが展開され、可能な補完が生成される。 |
| | :;-P prefix |
| | ::接頭辞は、他のすべてのオプションが適用された後、各完了候補の先頭に追加される。 |
| | :;-S suffix |
| | ::サフィックスは、他のすべてのオプションが適用された後、各完了可能なものに付加される。 |
| | :;-W wordlist |
| | ::ワードリストは特殊変数IFSの文字を区切り文字として分割され、各単語が展開される。 単語の中にシェルのメタ文字やIFSの値に含まれる文字があってもよいように、単語リスト内ではシェル引用符で囲む。 可能な補完は、補完される単語にマッチする結果リストのメンバーである。 |
| | :;-X filterpat |
| | ::filterpatはパス名展開に使われるパターンである。 これは、直前のオプションと引数で生成された補完候補のリストに適用され、 filterpatにマッチする補完がリストから取り除かれる。 filterpat の先頭の ! はパターンを否定する。この場合、 filterpat にマッチしない補完はすべて取り除かれる。 |
|
| |
|
| export [-fn] [name[=word]] ...
| | :無効なオプションが指定された場合、-pまたは-r以外のオプションが name引数なしで指定された場合、指定が存在しない名前の補完指定を削除しようとした場合、または補完指定の追加エラーが発生した場合を除き、戻り値は真である。 |
| export -p
| |
| The supplied names are marked for automatic export to the environment of subsequently exe‐
| |
| 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>compopt [-o option] [-DEI] [+o option] [name]</nowiki> |
| fc -s [pat=rep] [cmd]
| | :オプションにしたがって各名称の補完オプションを変更するか、名前が与えられていない場合は現在実行中の補完オプションを変更する。 オプションが与えられない場合は、各名前または現在実行中の補完の補完オプションを表示する。 optionに指定できる値は、前述の完全組み込み関数で有効な値である。 Dオプションは、他のオプションが ``デフォルト'' コマンド補完に適用されることを示す。 Eオプションは、他のオプションが``empty''コマンド補完に適用される ことを示す。 Iオプションは、他のオプションが、その行の最初の非割り当ての単語、またはコマンドの区切り文字である;や|の後の補完に適用されることを示す。 |
| The first form selects a range of commands from first to last from the history list and
| |
| displays or edits and re-executes them. First and last may be specified as a string (to
| |
| locate the last command beginning with that string) or as a number (an index into the 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‐
| | :無効なオプションが与えられるか、補完指定が存在しない名前のオプションを変更しようとするか、出力エラーが発生しない限り、戻り値は真である。 |
| 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.
| | ;<nowiki>continue [n]</nowiki> |
| Command is interpreted the same as first above. A useful alias to use with this is
| | :for、while、until、またはselectループの次の反復を再開する。 nが指定された場合、n番目のループで再開する。 nがループの数より大きい場合、最後のループ(``トップレベル''ループ)が再開される。nが1以上でなければ、戻り値は0である。 |
| ``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
| | ;<nowiki>declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]</nowiki> |
| or first or last specify history lines out of range. If the -e option is supplied, the
| | ;<nowiki>typeset [-aAfFgiIlnrtux] [-p] [name[=value] ...]</nowiki> |
| return value is the value of the last command executed or failure if an error occurs with
| | :変数を宣言したり、属性を与えたりする。 名前が与えられていない場合は、変数の値を表示する。 -pオプションは、それぞれの名前の属性と値を表示する。-pが名前引数とともに使われた場合、-fと-F以外の追加オプションは無視される。 名前引数なしで -p を指定すると、追加オプションで指定された属性を持つすべての変数の属性と値が表示される。 他のオプションが -p とともに与えられない場合、 declare はすべてのシェル変数の属性と値を表示する。 -f オプションは、表示をシェル関数に限定する。 -F オプションは関数定義の表示を禁止し、関数名と属性のみが表示される。 shoptを使用してextdebugシェル・オプションを有効にすると、各名称が定義されているソース・ファイル名と行番号も表示される。 -F オプションは -f を意味する。 gオプションは、declareがシェル関数の中で実行された場合でも、変数をグローバル・スコープで作成または変更することを強制する。 それ以外の場合は無視される。 -Iオプションは、ローカル変数の属性(nameref属性を除く)と値を、周囲のスコープに存在する同名の変数に継承させる。 既存の変数がない場合、ローカル変数は初期状態で設定されない。 以下のオプションを使うと、指定した属性を持つ変数に出力を制限したり、変数に属性を与えたりすることができる: |
| the temporary file of commands. If the second form is used, the return status is that of
| | :;-a |
| the command re-executed, unless cmd does not specify a valid history line, in which case
| | :::各名称はインデックス付き配列変数である(上記の「[[#Arrays|Arrays ]]」を参照)。 |
| fc returns failure.
| | :;-A |
| | ::それぞれの名前は連想配列変数である(上記の「[[#Arrays|Arrays ]]」を参照)。 |
| | :;-f |
| | ::関数名のみを使用する。 |
| | :;-i |
| | ::変数は整数として扱われ、変数に値が代入されると算術評価(上記のARITHMETIC EVALUATIONを参照)が行われる。 |
| | :;-l |
| | ::変数に値が代入されると、大文字はすべて小文字に変換される。 大文字属性は無効になる。 |
| | :;-n |
| | ::それぞれのnameにnameref属性を与え、別の変数への名前参照とする。 その別の変数は name の値によって定義される。 nameに対するすべての参照、代入、属性の変更は、-n属性そのものを使用または変更するものを除き、nameの値によって参照される変数に対して実行される。 nameref属性は配列変数には適用できない。 |
| | :;-r |
| | ::名前を読み取り専用にする。 これらの名前は、その後の代入文やアンセットによって値を代入することはできない。 |
| | :;-t |
| | ::それぞれの名前に trace 属性を与える。 トレースされた関数は、呼び出し元のシェルから DEBUG と RETURN トラップを継承する。 trace 属性は変数に対して特別な意味を持たない。 |
| | :;-u |
| | ::変数に値が代入されると、小文字はすべて大文字に変換される。 小文字属性は無効になる。 |
| | :;-x |
| | ::環境を通して後続のコマンドにエクスポートする名前をマークする。 |
|
| |
|
| fg [jobspec]
| | :ただし、+aや+Aは配列変数を破棄するのに使ってはならず、+rはreadonly属性を削除しない。 関数内で使用する場合、-gオプションが与えられていない限り、declareとtypesetはlocalコマンドと同様に各変数名をローカルにする。 変数名の後に=valueが続くと、その変数の値がvalueに設定される。 -a または -A と複合代入構文を使用して配列変数を作成する場合、追加の属性はそれ以降の代入まで有効にならない。 無効なオプションに出会った場合、``-f foo=bar''を使って関数を定義しようとした場合、 読み取り専用変数に値を代入しようとした場合、複合代入構文を使わずに配列変数に 値を代入しようとした場合(上記の配列を参照)を除いて、戻り値は0である、 名前のいずれかが有効なシェル変数名でない、読み取り専用変数の読み取りステータスをオフにしようとした、配列変数の配列ステータスをオフにしようとした、存在しない関数を -f で表示しようとした。 |
| Resume jobspec in the foreground, and make it the current job. If jobspec is not present,
| |
| the shell's notion of the current job is used. The return value is that of the command
| |
| placed into the foreground, or failure if run when job control is disabled or, when run
| |
| with job control enabled, if jobspec does not specify a valid job or jobspec specifies a
| |
| job that was started without job control.
| |
|
| |
|
| getopts optstring name [arg ...]
| | ;<nowiki>dirs [-clpv] [+n] [-n]</nowiki> |
| getopts is used by shell procedures to parse positional parameters. optstring contains
| | :オプションなしで、現在記憶しているディレクトリのリストを表示する。 デフォルトでは、ディレクトリ名をスペースで区切って1行で表示する。 ディレクトリは pushd コマンドでリストに追加され、 popd コマンドはリストからエントリを削除する。 カレント・ディレクトリは常にスタックの最初のディレクトリである。 |
| the option characters to be recognized; if a character is followed by a colon, the option
| | :;-c |
| 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
| | :;-l |
| 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
| | :;-p |
| OPTIND. OPTIND is initialized to 1 each time the shell or a shell script is invoked.
| | ::ディレクトリスタックを1行1エントリで表示する。 |
| When an option requires an argument, getopts places that argument into the variable OP‐
| | :;-v |
| TARG. The shell does not reset OPTIND automatically; it must be manually reset between
| | ::各エントリの先頭にスタック内のインデックスを付けて、1行に1エントリずつディレクトリスタックを表示する。 |
| multiple calls to getopts within the same shell invocation if a new set of parameters is
| | :;+n |
| to be used.
| | ::オプションなしで起動した場合、dirsが表示するリストの左から数えてn番目のエントリーを、ゼロから順に表示する。 |
| | :;-n |
| | ::オプションなしで起動した場合、dirsが表示するリストの右から数えてn番目のエントリーを、ゼロから順に表示する。 |
|
| |
|
| When the end of options is encountered, getopts exits with a return value greater than
| | :無効なオプションが与えられるか、n個のインデックスがディレクトリスタッ クの末尾を超えない限り、戻り値は0である。 |
| 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
| | ;<nowiki>disown [-ar] [-h] [jobspec ... | pid ... ]</nowiki> |
| arg values, getopts parses those instead.
| | :オプションを指定しない場合、アクティブなジョブのテーブルから各 jobspec を削除する。 jobspec が存在せず、-a オプションも -r オプションも与えられない場合、 現在のジョブが使用される。 h オプションが指定された場合、各 jobspec はテーブルから削除されないが、 シェルが SIGHUP を受信してもそのジョブに SIGHUP が送られないようにマークされる。 jobspec が与えられない場合、-a オプションはすべてのジョブを削除またはマークすることを意味する。jobspec 引数なしの -r オプションは、実行中のジョブに操作を制限する。 jobspec が有効なジョブを指定しない限り、戻り値は 0 である。 |
|
| |
|
| getopts can report errors in two ways. If the first character of optstring is a colon,
| | ;<nowiki>echo [-neE] [arg ...]</nowiki> |
| silent error reporting is used. In normal operation, diagnostic messages are printed when
| | :空白で区切られた引数を出力し、その後に改行する。 書き込みエラーが発生しない限り、リターン・ステータスは0である。 nを指定すると、末尾の改行が抑制される。 eオプションを指定すると、以下のバックスラッシュ・エスケープ文字の解釈が有効になる。 Eオプションを指定すると、これらのエスケープ文字がデフォルトで解釈されるシステムでも、その解釈を無効にする。 xpg_echo シェルオプションを使用すると、echo がデフォルトでこれらのエスケープ文字を展開するかどうかを動的に決定することができる。 echo は -- をオプションの終わりと解釈しない: |
| invalid options or missing option arguments are encountered. If the variable OPTERR is
| | :;\a |
| set to 0, no error messages will be displayed, even if the first character of optstring is
| | ::アラート (ベル) |
| not a colon.
| | :;\b |
| | ::バックスペース |
| | :;\c |
| | ::それ以上の出力を抑制する |
| | :;\e |
| | :;\E |
| | ::エスケープキャラクター |
| | :;\f |
| | ::フォームフィード |
| | :;\n |
| | ::改行 |
| | :;\r |
| | ::キャリッジリターン |
| | :;\t |
| | ::水平タブ |
| | :;\v |
| | ::垂直タブ |
| | :;\\ |
| | ::バックスラッシュ |
| | :;\0nnn |
| | ::値が8進数値nnn(0~3桁の8進数)である8ビット文字 |
| | :;\xHH |
| | ::値が16進数HH(1桁または2桁の16進数)である8ビット文字 |
| | :;\uHHHH |
| | ::ユニコード(ISO/IEC 10646)文字で、その値は16進数値HHHH(1桁から4桁の16進数)である。 |
| | :;\UHHHHHHHH |
| | ::ユニコード(ISO/IEC 10646)文字で、その値が16進数のHHHHHHHHH(1~8桁の16進数)である。 |
|
| |
|
| If an invalid option is seen, getopts places ? into name and, if not silent, prints an er‐
| | ;<nowiki>enable [-a] [-dnps] [-f filename] [name ...]</nowiki> |
| ror message and unsets OPTARG. If getopts is silent, the option character found is placed
| | :シェル組み込みコマンドを有効/無効にする。 組み込みコマンドを無効にすると、シェルは通常ディスクコマンドの前に組み込みコマンドを検索するにもかかわらず、シェル組み込みコマンドと同じ名前のディスクコマンドをフルパス名を指定せずに実行できるようになる。 n を使用すると、各名称は無効になり、それ以外の場合は有効になる。 例えば、シェルのビルトインバージョンの代わりに PATH 経由で見つかった test バイナリを使うには、``enable -n test'' を実行する。fオプションは、動的ロードをサポートしているシステムでは、共有オブジェクトファイル名から新しい組み込みコマンド名をロードすることを意味する。 dオプションは-fでロードした組み込みコマンドを削除する。 name 引数が与えられないか、または -p オプションが与えられると、 シェル組み込みコマンドのリストが表示される。 他のオプション引数を指定しない場合、リストは有効なシェル組み込み関数すべてから構成される。 n を指定すると、無効な組み込み関数だけが表示される。 a を指定すると、すべての組み込み関数が出力され、それぞれが有効かどうかも表示される。 s を指定すると、出力は POSIX 特殊組み込み関数に制限される。 戻り値は、名前がシェル組み込み関数でないか、共有オブジェクトからの新規組み込み関数のロードにエラーがない限り 0 である。 |
| in OPTARG and no diagnostic message is printed.
| |
|
| |
|
| If a required argument is not found, and getopts is not silent, a question mark (?) is
| | ;<nowiki>eval [arg ...]</nowiki> |
| placed in name, OPTARG is unset, and a diagnostic message is printed. If getopts is
| | :引数が読み込まれ、1つのコマンドに連結される。 このコマンドはシェルによって読み込まれ実行され、その終了ステータスがevalの値として返される。 引数がない場合、あるいはnullの引数しかない場合、evalは0を返す。 |
| 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
| | ;exec [-cl] [-a name] [command [arguments]] |
| if the end of options is encountered or an error occurs.
| | :commandが指定された場合、シェルを置き換える。 新しいプロセスは作られない。 引数は command の引数になる。 l オプションが与えられた場合、シェルは command に渡された引数の 0 番目の先頭にダッシュを置く。 これは login(1) が行うことである。 c オプションを指定すると、コマンドは空の環境で実行される。 a が与えられると、シェルは実行されるコマンドの 0 番目の引数として name を渡す。 何らかの理由でコマンドが実行できなかった場合、execfail シェルオプションが有効になっていない限り、非対話型シェルは終了する。 その場合は失敗を返す。 ファイルを実行できない場合、対話型シェルは失敗を返す。 サブシェルは、execが失敗すると無条件に終了する。 commandが指定されていない場合、リダイレクトは現在のシェルで有効になり、リターン・ステータスは0になる。リダイレクト・エラーがある場合、リターン・ステータスは1になる。 |
|
| |
|
| hash [-lr] [-p filename] [-dt] [name]
| | ;exit [n] |
| Each time hash is invoked, the full pathname of the command name is determined by search‐
| | :nが省略された場合、終了ステータスは最後に実行されたコマンドのステータスとなる。 EXIT のトラップは、シェルが終了する前に実行される。 |
| 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>export [-fn] [name[=word]] ...</nowiki> |
| Display helpful information about builtin commands. If pattern is specified, help gives
| | ;export -p |
| detailed help on all commands matching pattern; otherwise help for all the builtins and
| | :指定された名前は、その後に実行されるコマンドの環境に自動的にエクスポートされるようにマークされる。 -fオプションが指定された場合、名前は関数を参照する。 名前が指定されない場合、または -p オプションが指定された場合は、エクスポートされたすべての変数名のリストが表示される。 -n オプションを指定すると、各名称からエクスポート・プロパティが削除される。 変数名の後に=wordが続くと、その変数の値がwordに設定される。exportは、無効なオプションに遭遇するか、名前の1つが有効なシェル変数名でないか、-fに関数でない名前が指定されない限り、終了ステータス0を返す。 |
| shell control structures is printed.
| |
| -d Display a short description of each pattern
| |
| -m Display the description of each pattern in a manpage-like format
| |
| -s Display only a short usage synopsis for each pattern
| |
|
| |
|
| The return status is 0 unless no command matches pattern.
| | ;<nowiki>fc [-e ename] [-lnr] [first] [last]</nowiki> |
| | ;<nowiki>fc -s [pat=rep] [cmd]</nowiki> |
| | :最初の形式は、履歴リストから最初のコマンドから最後のコマンドまでの範囲を選択し、それらを表示または編集して再実行する。 firstとlastは、文字列(その文字列で始まる最後のコマンドを探す)または数値(履歴リストへのインデックス、負の数は現在のコマンド番号からのオフセットとして使われる)で指定することができる。リストを表示する場合、firstまたはlastに0を指定すると-1となり、-0を指定すると現在のコマンド(通常はfcコマンド)となる。 もしlastが指定されなければ、リストアップのために現在のコマンドに設定され (``fc -l -10'' は最後の10個のコマンドを表示する)、そうでなければfirstに設定される。 もしfirstが指定されなければ、編集の場合は前のコマンドに、リストアップの場合は-16に設定される。 |
|
| |
|
| history [n]
| | :-nオプションは、一覧表示時にコマンド番号を表示しない。 -rオプションはコマンドの順序を逆にする。 -lオプションを指定すると、コマンドは標準出力にリストされる。 それ以外の場合、enameで指定されたエディタが、それらのコマンドを含む ファイルに対して起動される。enameが与えられていない場合、変数FCEDITの値が使われ、 FCEDITが設定されていない場合、EDITORの値が使われる。 どちらの変数も設定されていなければ、viが使われる。 編集が完了すると、編集されたコマンドがエコーされて実行される。 |
| history -c
| |
| history -d offset
| |
| history -d start-end
| |
| history -anrw [filename]
| |
| history -p arg [arg ...]
| |
| history -s arg [arg ...]
| |
| With no options, display the command history list with line numbers. Lines listed with a
| |
| * have been modified. An argument of n lists only the last n lines. If the shell vari‐
| |
| 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
| |
| is printed between the formatted time stamp and the history line. If filename is sup‐
| |
| plied, it is used as the name of the history file; if not, the value of HISTFILE is used.
| |
| Options, if supplied, have the following meanings:
| |
| -c Clear the history list by deleting all the entries.
| |
| -d offset
| |
| Delete the history entry at position offset. If offset is negative, it is inter‐
| |
| preted as relative to one greater than the last history position, so negative in‐
| |
| dices count back from the end of the history, and an index of -1 refers to the cur‐
| |
| rent history -d command.
| |
| -d start-end
| |
| Delete the history entries between positions start and end, inclusive. Positive
| |
| and negative values for start and end are interpreted as described above.
| |
| -a Append the ``new'' history lines to the history file. These are history lines en‐
| |
| tered since the beginning of the current bash session, but not already appended to
| |
| the history file.
| |
| -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
| | :第二の形式では、patの各インスタンスがrepに置き換えられた後、コマンドが再実行される。コマンドは上記の最初のものと同じように解釈される。 r="fc-s"」と入力すると、「cc」で始まる最後のコマンドが実行され、「r」と入力すると最後のコマンドが再実行される。 |
| 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 ... ]
| | :最初の形式を使用した場合、無効なオプションに遭遇するか、最初または最後の指定行が範囲外でない限り、戻り値は0である。 eオプションが与えられた場合、戻り値は最後に実行されたコマンドの値か、コマンドの一時ファイルでエラーが発生した場合は失敗となる。 2番目の形式が使われた場合、cmdが有効なヒストリ行を指定しない限り、戻り値は再実行されたコマンドのステータスとなり、その場合fcは失敗を返す。 |
| jobs -x command [ args ... ]
| |
| The first form lists the active jobs. The options have the following meanings:
| |
| -l List process IDs in addition to the normal information.
| |
| -n Display information only about jobs that have changed status since the user was
| |
| last notified of their status.
| |
| -p List only the process ID of the job's process group leader.
| |
| -r Display only running jobs.
| |
| -s Display only stopped jobs.
| |
|
| |
|
| If jobspec is given, output is restricted to information about that job. The return sta‐
| | ;fg [jobspec] |
| tus is 0 unless an invalid option is encountered or an invalid jobspec is supplied.
| | :jobspec をフォアグラウンドで再開し、現在のジョブにする。 jobspec が存在しない場合、シェルの現在のジョブの概念が使用される。 戻り値は、フォアグラウンドに配置されたコマンドの値であり、ジョブ制御が無効なときに実行された場合は失敗となる。ジョブ制御が有効なときに実行された場合は、jobspecが有効なジョブを指定していないか、ジョブ制御なしで開始されたジョブを指定している。 |
|
| |
|
| If the -x option is supplied, jobs replaces any jobspec found in command or args with the
| | ;getopts optstring name [arg ...] |
| corresponding process group ID, and executes command passing it args, returning its exit
| | :optstringには、認識すべきオプション文字が含まれる。ある文字の後にコロンが続く場合、そのオプションは引数を持つことが期待され、その引数は空白で区切らなければならない。 コロンとクエスチョンマークはオプション文字としては使えない。 getoptsは起動されるたびに、次のオプションをシェル変数nameに入れ、nameが存在しない場合は初期化し、次に処理される引数のインデックスを変数OPTINDに入れる。 OPTINDは、シェルまたはシェルスクリプトが起動されるたびに1に初期化される。オプションが引数を必要とする場合、getopts はその引数を変数 OPTARG に入れる。 シェルは OPTIND を自動的にリセットしないので、新しいパラメータセットを使用する場合は、同じシェル呼び出し内で getopts を複数回呼び出す間に手動でリセットする必要がある。 |
| status.
| |
|
| |
|
| kill [-s sigspec | -n signum | -sigspec] [pid | jobspec] ...
| | :オプションの終了に遭遇すると、getoptsは0より大きい戻り値で終了する。 OPTINDには、最初の非オプション引数のインデックスが設定され、 nameには?をセットする。 |
| kill -l|-L [sigspec | exit_status]
| |
| Send the signal named by sigspec or signum to the processes named by pid or jobspec.
| |
| sigspec is either a case-insensitive signal name such as SIGKILL (with or without the SIG
| |
| prefix) or a signal number; signum is a signal number. If sigspec is not present, then
| |
| SIGTERM is assumed. An argument of -l lists the signal names. If any arguments are 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 ...]
| | :getoptsは通常、位置パラメータを解析するが、arg値としてさらに引数が与えられると、getoptsはそれらを代わりに解析する。 |
| Each arg is an arithmetic expression to be evaluated (see ARITHMETIC EVALUATION above).
| |
| If the last arg evaluates to 0, let returns 1; 0 is returned otherwise.
| |
|
| |
|
| local [option] [name[=value] ... | - ]
| | :getoptsは2つの方法でエラーを報告することができる。 optstringの最初の文字がコロンの場合、サイレントエラー報告が使用される。 通常の操作では、無効なオプションやオプション引数の欠落に遭遇すると、診断メッセージが表示される。 変数 OPTERR を 0 に設定すると、optstring の最初の文字がコロンでなくても、エラーメッセージは表示されない。 |
| For each argument, a local variable named name is created, and assigned value. The option
| |
| can be any of the options accepted by declare. When local is used within a function, it
| |
| causes the variable name to have a visible scope restricted to that function and its 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.
| | :無効なオプションが見つかった場合、getopts は name に ? を入れ、無音でなければエラーメッセージを表示して OPTARG の設定を解除する。 getopts が沈黙している場合、見つかったオプション文字は OPTARG に置かれ、診断メッセージは出力されない。 |
|
| |
|
| mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [ar‐
| | :必須引数が見つからず、getoptsがサイレントでない場合、nameにクエスチョンマーク(?) getoptsが無音の場合、nameにコロン(:)が置かれ、OPTARGには見つかったオプション文字が設定される。 |
| ray]
| |
| readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum]
| |
| [array]
| |
| Read lines from the standard input into the indexed array variable array, or from file de‐
| |
| scriptor fd if the -u option is supplied. The variable MAPFILE is the default array. Op‐
| |
| tions, if supplied, have the following meanings:
| |
| -d The first character of delim is used to terminate each input line, rather than new‐
| |
| line. If delim is the empty string, mapfile will terminate a line when it reads a
| |
| NUL character.
| |
| -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.
| |
| -s Discard the first count lines read.
| |
| -t Remove a trailing delim (default newline) from each line read.
| |
| -u Read lines from file descriptor fd instead of the standard input.
| |
| -C Evaluate callback each time quantum lines are read. The -c option specifies quan‐
| |
| tum.
| |
| -c Specify the number of lines read between each call to callback.
| |
|
| |
|
| If -C is specified without -c, the default quantum is 5000. When callback is evaluated,
| | :getoptsは、指定または未指定のオプションが見つかれば真を返す。 オプションの末尾にぶつかったり、エラーが発生した場合は偽を返す。 |
| 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.
| | ;<nowiki>hash [-lr] [-p filename] [-dt] [name]</nowiki> |
| | :hashが起動されるたびに、コマンド名のフルパス名が$PATH内のディレクトリを検索して決定され、記憶される。 以前に記憶されたパス名は破棄される。 -pオプションが与えられると、パス検索は行われず、 filenameがコマンドの完全なファイル名として使われる。 -rオプションを付けると、シェルは記憶していた場所をすべて忘れる。 -dオプションを指定すると、シェルは各名称の記憶された場所を忘れる。 -t オプションを指定すると、各名前が対応する完全なパス名が表示される。 複数の name 引数が -t とともに与えられた場合、 name はハッシュされたフルパス名の前に出力される。 -lオプションを指定すると、入力として再利用できる形式で出力が表示される。 引数が与えられないか、-lだけが与えられると、記憶されたコマンドに関する情報が表示される。 名前が見つからないか、無効なオプションが与えられない限り、戻り値は真である。 |
|
| |
|
| mapfile returns successfully unless an invalid option or option argument is supplied, ar‐
| | ;<nowiki>help [-dms] [pattern]</nowiki> |
| ray is invalid or unassignable, or if array is not an indexed array.
| | :組み込みコマンドに関する有用な情報を表示する。 pattern が指定されていれば、help は pattern にマッチするすべてのコマンドに関する詳細なヘルプを表示する。そうでなければ、すべての組み込みコマンドとシェル制御構造に関するヘルプを表示する。 |
| | :;-d |
| | ::各パターンの簡単な説明を表示する |
| | :;-m |
| | ::各パターンの説明をマンページのような形式で表示する |
| | :;-s |
| | ::各パターンについて、短い使用法の概要のみを表示する |
|
| |
|
| popd [-n] [+n] [-n]
| | :パターンにマッチするコマンドがなければ、リターンステータスは0である。 |
| Removes entries from the directory stack. With no arguments, removes the top directory
| |
| from the stack, and performs a cd to the new top directory. Arguments, if supplied, have
| |
| the following meanings:
| |
| -n Suppresses the normal change of directory when removing directories from the stack,
| |
| so that only the stack is manipulated.
| |
| +n Removes the nth entry counting from the left of the list shown by dirs, starting
| |
| with zero. For example: ``popd +0'' removes the first directory, ``popd +1'' the
| |
| second.
| |
| -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
| | ;<nowiki>history [n]</nowiki> |
| 0. popd returns false if an invalid option is encountered, the directory stack is empty,
| | ;history -c |
| a non-existent directory stack entry is specified, or the directory change fails.
| | ;history -d offset |
| | ;history -d start-end |
| | ;<nowiki>history -anrw [filename]</nowiki> |
| | ;<nowiki>history -p arg [arg ...]</nowiki> |
| | ;<nowiki>history -s arg [arg ...]</nowiki> |
| | :オプションなしで、コマンド履歴リストを行番号付きで表示する。 の付いた行は変更されている。 引数 n は、最後の n 行だけをリストする。 シェル変数 '''HISTTIMEFORMAT''' が NULL ではなく設定されている場合、 [https://manpages.debian.org/unstable/manpages-dev/strftime.3.en.html strftime](3) のフォーマット文字列として使用され、 表示された各履歴エントリに関連付けられたタイムスタンプが表示される。 フォーマットされたタイムスタンプと履歴行の間には、空白は表示されない。 filename が指定された場合、それが履歴ファイル名として使用される。オプションが与えられた場合、以下の意味を持つ: |
| | :;-c |
| | ::すべてのエントリーを削除して履歴リストを消去する。 |
| | :;-d offset |
| | ::位置 offset のヒストリエントリを削除する。 offsetが負の場合、最後のヒストリ位置より1つ大きい位置からの相対値として解釈されるため、負のインデックスはヒストリの終わりからさかのぼってカウントされ、-1のインデックスは現在のヒストリ-dコマンドを指す。 |
| | :;-d start-end |
| | ::開始位置と終了位置の間の履歴エントリを削除する。 startとendの正の値と負の値は、上記のように解釈される。 |
| | :;-a |
| | ::''新しい''ヒストリ行をヒストリファイルに追加する。 これらの行は現在のbashセッションの開始以降に入力されたヒストリで、まだヒストリファイルに追加されていない行である。 |
| | :;-n |
| | ::ヒストリファイルからまだ読み込まれていないヒストリ行を現在のヒストリリストに読み込む。 これらは、現在のbashセッションの開始以降にヒストリファイルに追加された行である。 |
| | :;-r |
| | ::履歴ファイルの内容を読み込み、現在の履歴リストに追加する。 |
| | :;-w |
| | ::現在の履歴リストを履歴ファイルに書き込み、履歴ファイルの内容を上書きする。 |
| | :;-p |
| | ::以下の引数に対してヒストリ置換を行い、結果を標準出力に表示する。 ヒストリリストには結果を保存しない。 通常のヒストリ展開を無効にするには、各argを引用符で囲む必要がある。 |
| | :;-s |
| | ::履歴リストに引数を1つのエントリーとして保存する。 履歴リストの最後のコマンドは、引数が追加される前に削除される。 |
|
| |
|
| printf [-v var] format [arguments]
| | :'''HISTTIMEFORMAT'''変数が設定されている場合、各履歴エントリーに関連するタイムスタンプ情報は、履歴コメント文字でマークされた履歴ファイルに書き込まれる。ヒストリファイルが読み込まれると、ヒストリコメント文字の直後に数字が続く行は、次のヒストリエントリのタイムスタンプとして解釈される。 無効なオプションに遭遇するか、ヒストリファイルの読み込みまたは書き込み中にエラーが発生するか、-dの引数として無効なオフセットが与えられるか、-pの引数として与えられたヒストリ展開が失敗しない限り、戻り値は0である。 |
| Write the formatted arguments to the standard output under the control of the format. The
| |
| -v option causes the output to be assigned to the variable var rather than being printed
| |
| to the standard output.
| |
|
| |
|
| The format is a character string which contains three types of objects: plain characters,
| | ;<nowiki>jobs [-lnprs] [ jobspec ... ]</nowiki> |
| which are simply copied to standard output, character escape sequences, which are con‐
| | ;<nowiki>jobs -x command [ args ... ]</nowiki> |
| verted and copied to the standard output, and format specifications, each of which causes
| | :最初のフォームは、アクティブなジョブの一覧を表示する。 オプションの意味は以下の通りである: |
| printing of the next successive argument. In addition to the standard printf(1) format
| | :;-l |
| specifications, printf interprets the following extensions:
| | ::通常の情報に加えて、プロセスIDをリストアップする。 |
| %b causes printf to expand backslash escape sequences in the corresponding argument in
| | :;-n |
| the same way as echo -e.
| | ::ユーザーが最後にステータスを通知されてからステータスが変更されたジョブに関する情報のみを表示する。 |
| %q causes printf to output the corresponding argument in a format that can be reused
| | :;-p |
| as shell input.
| | ::ジョブのプロセスグループリーダーのプロセスIDのみをリストする。 |
| %(datefmt)T
| | :;-r |
| 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
| | :;-s |
| 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
| | :jobspec が与えられた場合、出力はそのジョブに関する情報に制限される。 無効なオプションに遭遇するか、無効なjobspecが与えられない限り、戻りステータスは0である。 |
| 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‐
| | :-xオプションが与えられた場合、jobsはcommandまたはargsで見つかったjobspecを対応するプロセスグループIDに置き換え、argsを渡してコマンドを実行し、その終了ステータスを返す。 |
| 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
| | ;<nowiki>kill [-s sigspec | -n signum | -sigspec] [pid | jobspec] ...</nowiki> |
| more arguments than are supplied, the extra format specifications behave as if a zero
| | ;<nowiki>kill -l|-L [sigspec | exit_status]</nowiki> |
| value or null string, as appropriate, had been supplied. The return value is zero on suc‐
| | :sigspec は '''SIGKILL''' のような大文字小文字を区別しないシグナル名 (SIG 接頭辞の有無は問わない) かシグナル番号であり、 signum はシグナル番号である。 sigspecが存在しない場合は、SIGTERMが想定される。 引数 -l は、シグナル名の一覧を示す。 lを指定する際に引数が指定された場合、引数に対応するシグナル名が列挙され、 戻りステータスは0となる。-lの引数exit_statusは、シグナル番号またはシグナルによって 終了したプロセスの終了ステータスを指定する数値である。 killは、少なくとも1つのシグナルが正常に送信された場合は真を返し、 エラーが発生した場合や無効なオプションに遭遇した場合は偽を返す。 |
| cess, non-zero on failure.
| |
|
| |
|
| pushd [-n] [+n] [-n]
| | ;<nowiki>let arg [arg ...]</nowiki> |
| pushd [-n] [dir]
| | :各argは評価される算術式である(上記の[[#ARITHMETIC EVALUATION|ARITHMETIC EVALUATION ]]を参照)。最後のargが0と評価された場合、letは1を返し、そうでない場合は0が返される。 |
| Adds a directory to the top of the directory stack, or rotates the stack, making the new
| |
| top of the stack the current working directory. With no arguments, pushd exchanges the
| |
| top two directories and returns 0, unless the directory stack is empty. Arguments, if
| |
| supplied, have the following meanings:
| |
| -n Suppresses the normal change of directory when rotating or adding directories to
| |
| the stack, so that only the stack is manipulated.
| |
| +n Rotates the stack so that the nth directory (counting from the left of the list
| |
| shown by dirs, starting with zero) is at the top.
| |
| -n Rotates the stack so that the nth directory (counting from the right of the list
| |
| shown by dirs, starting with zero) is at the top.
| |
| 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
| | ;<nowiki>local [option] [name[=value] ... | - ]</nowiki> |
| used, pushd returns 0 unless the cd to dir fails. With the second form, pushd returns 0
| | :各引数に対して、nameという名前のローカル変数が作成され、値が代入される。 オプションは、declareが受け付けるオプションのいずれかである。 localが関数内で使われると、変数名はその関数とその子関数に限定された可視スコープを持つようになる。 nameが-である場合、シェルオプションのセットは、localが呼び出された関数のローカルになる。関数内でset組み込み関数を使って変更されたシェルオプションは、関数が戻ったときに元の値に復元される。 このリストアは、あたかも一連のsetコマンドを実行して、関数を実行する前の値をリストアしたかのように行われる。 オペランドがない場合、localはローカル変数のリストを標準出力に書き出す。 関数内以外でlocalを使用するのはエラーである。 localが関数外で使用されているか、無効な名前が与えられているか、nameが読み取り専用変数でない限り、戻りステータスは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]
| | ;logout |
| Print the absolute pathname of the current working directory. The pathname printed con‐
| | :ログインシェルを終了する。 |
| 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>mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]</nowiki> |
| fd] [name ...]
| | ;<nowiki>readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]</nowiki> |
| One line is read from the standard input, or from the file descriptor fd supplied as an
| | :標準入力からインデックス付き配列変数arrayに、または-uオプションが与えられている場合はファイルディスクリプタfdから行を読み込む。 変数'''MAPFILE'''はデフォルトの配列である。 オプションが与えられた場合の意味は以下の通りである。: |
| argument to the -u option, split into words as described above under Word Splitting, and
| | :;-d |
| the first word is assigned to the first name, the second word to the second name, and so
| | ::delimの最初の文字は、改行ではなく、各入力行を終了するために使われる。 delimが空文字列の場合、mapfileはNUL文字を読んだ時点で行を終了する。 |
| on. If there are more words than names, the remaining words and their intervening delim‐
| | :;-n |
| iters are assigned to the last name. If there are fewer words read from the input stream
| | ::最大で count 行コピーする。 countが0の場合、すべての行がコピーされる。 |
| than names, the remaining names are assigned empty values. The characters in IFS are used
| | :;-O |
| to split the line into words using the same rules the shell uses for expansion (described
| | ::インデックスを原点として配列への代入を開始する。 デフォルトのインデックスは0である。 |
| above under Word Splitting). The backslash character (\) may be used to remove any spe‐
| | :;-s |
| cial meaning for the next character read and for line continuation. Options, if supplied,
| | ::最初に読んだカウント行は破棄する。 |
| have the following meanings:
| | :;-t |
| -a aname
| | ::読み込んだ各行から末尾の区切り文字(デフォルトは改行)を取り除く。 |
| The words are assigned to sequential indices of the array variable aname, starting
| | :;-u |
| at 0. aname is unset before any new values are assigned. Other name arguments are
| | ::標準入力の代わりにファイル・ディスクリプタfdから行を読む。 |
| ignored.
| | :;-C |
| -d delim
| | ::量子行が読み込まれるたびにコールバックを評価する。 -cオプションで量子を指定する。 |
| The first character of delim is used to terminate the input line, rather than new‐
| | :;-c |
| line. If delim is the empty string, read will terminate a line when it reads a NUL
| | ::コールバックを呼び出すたびに読み込む行数を指定する。 |
| character.
| |
| -e If the standard input is coming from a terminal, readline (see READLINE above) is
| |
| used to obtain the line. Readline uses the current (or default, if line editing
| |
| was not previously active) editing settings, but uses Readline's default filename
| |
| completion.
| |
| -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‐
| | :-cを指定せずに-Cを指定した場合、デフォルトの量子は5000である。 callbackが評価されるとき、追加引数として、次に代入される配列要素のインデックスと、その要素に代入される行が与えられる。 |
| 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] ...]
| | :明示的に原点が与えられない場合、mapfileはその原点に代入する前に配列をクリアする。 |
| The given names are marked readonly; the values of these names may not be changed by sub‐
| |
| 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]
| | :mapfileは、無効なオプションやオプション引数が与えられていないか、配列が無効か割り当て不可能でないか、配列がインデックス付き配列でない場合を除き、正常に戻る。 |
| Causes a function to stop executing and return the value specified by n to its caller. If
| |
| n is omitted, the return status is that of the last command executed in the function body.
| |
| If return is executed by a trap handler, the last command used to determine the status is
| |
| the last command executed before the trap handler. If return is executed during a DEBUG
| |
| trap, the last command used to determine the status is the last command executed by the
| |
| trap handler before return was invoked. If return is used outside a function, but during
| |
| execution of a script by the . (source) command, it causes the shell to stop executing
| |
| that script and return either n or the exit status of the last command executed within the
| |
| script as the exit status of the script. If n is supplied, the return value is its least
| |
| significant 8 bits. The return status is non-zero if return is supplied a non-numeric 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>popd [-n] [+n] [-n]</nowiki> |
| set [+abefhkmnptuvxBCEHPT] [+o option-name] [arg ...]
| | :ディレクトリスタックからエントリを削除する。 引数がない場合、スタックからトップディレクトリを削除し、新しいトップディレクトリへの cd を実行する。 引数が与えられた場合、以下の意味を持つ。: |
| Without options, the name and value of each shell variable are displayed in a format that
| | :;-n |
| can be reused as input for setting or resetting the currently-set variables. Read-only
| | ::スタックからディレクトリを削除する際に、通常のディレクトリの変更を抑制し、スタックのみが操作されるようにする。 |
| variables cannot be reset. In posix mode, only shell variables are listed. The output is
| | :;+n |
| sorted according to the current locale. When options are specified, they set or unset
| | ::dirs で示されるリストの左から 0 から数えて n 番目のエントリを削除する。 例えば: ``popd +0'' は最初のディレクトリを削除し、 ``popd +1'' は2番目のディレクトリを削除する。 |
| shell attributes. Any arguments remaining after option processing are treated as values
| | :;-n |
| for the positional parameters and are assigned, in order, to $1, $2, ... $n. Options, if
| | ::dirs で示されるリストの右から 0 から数えて n 番目のエントリを削除する。 例えば、 ``popd -0'' は最後のディレクトリを削除し、 ``popd -1'' はその次を削除する。 |
| specified, have the following meanings:
| |
| -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
| | :popdコマンドが成功した場合、dirsも実行され、戻りステータスは0である。無効なオプションに遭遇した場合、ディレクトリスタックが空である場合、存在しないディレクトリスタックエントリが指定された場合、またはディレクトリの変更が失敗した場合、popdは偽を返す。 |
| ignored, none of the commands executed within the compound command or function
| |
| body will be affected by the -e setting, even if -e is set and a command returns a
| |
| failure status. If a compound command or shell function sets -e while executing
| |
| in a context where -e is ignored, that setting will not have any effect until the
| |
| compound command or the command containing the function call completes.
| |
| -f Disable pathname expansion.
| |
| -h Remember the location of commands as they are looked up for execution. This is
| |
| enabled by default.
| |
| -k All arguments in the form of assignment statements are placed in the environment
| |
| for a command, not just those that precede the command name.
| |
| -m Monitor mode. Job control is enabled. This option is on by default for interac‐
| |
| 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
| |
| line containing its exit status.
| |
| -n Read commands but do not execute them. This may be used to check a shell script
| |
| for syntax errors. This is ignored by interactive shells.
| |
| -o option-name
| |
| The option-name can be one of the following:
| |
| allexport
| |
| Same as -a.
| |
| braceexpand
| |
| Same as -B.
| |
| emacs Use an emacs-style command line editing interface. This is enabled by de‐
| |
| fault when the shell is interactive, unless the shell is started with the
| |
| --noediting option. This also affects the editing interface used for read
| |
| -e.
| |
| errexit Same as -e.
| |
| errtrace
| |
| Same as -E.
| |
| functrace
| |
| Same as -T.
| |
| hashall Same as -h.
| |
| histexpand
| |
| Same as -H.
| |
| history Enable command history, as described above under HISTORY. This option is
| |
| on by default in interactive shells.
| |
| ignoreeof
| |
| The effect is as if the shell command ``IGNOREEOF=10'' had been executed
| |
| (see Shell Variables above).
| |
| keyword Same as -k.
| |
| monitor Same as -m.
| |
| noclobber
| |
| Same as -C.
| |
| noexec Same as -n.
| |
| noglob Same as -f.
| |
| nolog Currently ignored.
| |
| notify Same as -b.
| |
| nounset Same as -u.
| |
| onecmd Same as -t.
| |
| physical
| |
| Same as -P.
| |
| pipefail
| |
| If set, the return value of a pipeline is the value of the last (right‐
| |
| most) command to exit with a non-zero status, or zero if all commands in
| |
| the pipeline exit successfully. This option is disabled by default.
| |
| posix Change the behavior of bash where the default operation differs from the
| |
| POSIX standard to match the standard (posix mode). See SEE ALSO below for
| |
| a reference to a document that details how posix mode affects bash's be‐
| |
| havior.
| |
| privileged
| |
| Same as -p.
| |
| verbose Same as -v.
| |
| vi Use a vi-style command line editing interface. This also affects the
| |
| editing interface used for read -e.
| |
| xtrace Same as -x.
| |
| If -o is supplied with no option-name, the values of the current options are
| |
| printed. If +o is supplied with no option-name, a series of set commands to
| |
| recreate the current option settings is displayed on the standard output.
| |
| -p Turn on privileged mode. In this mode, the $ENV and $BASH_ENV files are not pro‐
| |
| cessed, shell functions are not inherited from the environment, and the SHELLOPTS,
| |
| BASHOPTS, CDPATH, and GLOBIGNORE variables, if they appear in the environment, are
| |
| ignored. If the shell is started with the effective user (group) id not equal to
| |
| the real user (group) id, and the -p option is not supplied, these actions are
| |
| taken and the effective user id is set to the real user id. If the -p option is
| |
| supplied at startup, the effective user id is not reset. Turning this option off
| |
| causes the effective user and group ids to be set to the real user and group ids.
| |
| -t Exit after reading and executing one command.
| |
| -u Treat unset variables and parameters other than the special parameters "@" and "*"
| |
| as an error when performing parameter expansion. If expansion is attempted on an
| |
| unset variable or parameter, the shell prints an error message, and, if not inter‐
| |
| active, exits with a non-zero status.
| |
| -v Print shell input lines as they are read.
| |
| -x After expanding each simple command, for command, case command, select command, or
| |
| arithmetic for command, display the expanded value of PS4, followed by the command
| |
| and its expanded arguments or associated word list.
| |
| -B The shell performs brace expansion (see Brace Expansion above). This is on by de‐
| |
| fault.
| |
| -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,
| |
| 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
| | ;<nowiki>printf [-v var] format [arguments]</nowiki> |
| options to be turned off. The options can also be specified as arguments to an invocation
| | :フォーマットされた引数を、フォーマットの制御下で標準出力に書き出す。 vオプションを付けると、出力は標準出力に出力されるのではなく、変数varに代入される。 |
| 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]
| | :すなわち、単純に標準出力にコピーされるプレーン文字、変換されて標準出力にコピーされる文字エスケープシーケンス、および次の連続する引数の印刷を引き起こす各フォーマット指定である。 標準の[[/usr/bin/printf|printf]](1)フォーマット指定に加えて、printfは以下の拡張を解釈する: |
| The positional parameters from n+1 ... are renamed to $1 .... Parameters represented by
| | :;%b |
| the numbers $# down to $#-n+1 are unset. n must be a non-negative number less than or
| | ::printfは、echo -eと同じように、対応する引数のバックスラッシュ・エスケープ・シーケンスを展開する。 |
| equal to $#. If n is 0, no parameters are changed. If n is not given, it is assumed to
| | :;%q |
| be 1. If n is greater than $#, the positional parameters are not changed. The return
| | ::printfは、対応する引数をシェル入力として再利用できる形式で出力する。 |
| status is greater than zero if n is greater than $# or less than zero; otherwise 0.
| | :;%(datefmt)T |
| | ::'''[https://manpages.debian.org/bookworm/manpages-dev/strftime.3.en.html strftime]'''(3) のフォーマット文字列として datefmt を使用した結果の日付時刻文字列を printf に出力させる。 対応する引数は、エポックからの秒数を表す整数である。 2つの特別な引数値を使うことができる: -1 は現在時刻を表し、-2 はシェルが起動された時刻を表す。 引数が指定されない場合、変換は-1が与えられたかのように動作する。 これは、通常のprintfの動作の例外である。 |
|
| |
|
| shopt [-pqsu] [-o] [optname ...]
| | :b、%q、%Tディレクティブはすべて、書式指定のフィールド幅と精度の引数を使用し、拡張された引数からそのバイト数を書き込む(あるいは、その幅のフィールドを使用する)。 |
| Toggle the values of settings controlling optional shell behavior. The settings can be
| |
| either those listed below, or, if the -o option is used, those available with the -o op‐
| |
| tion to the set builtin command. With no options, or with the -p option, a list of all
| |
| settable options is displayed, with an indication of whether or not each is set; if opt‐
| |
| names are supplied, the output is restricted to those options. The -p option causes out‐
| |
| put to be displayed in a form that may be reused as input. Other options have the follow‐
| |
| ing meanings:
| |
| -s Enable (set) each optname.
| |
| -u Disable (unset) each optname.
| |
| -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
| | :文字列以外の書式指定子への引数は、Cの定数として扱われる。ただし、先頭のプラス記号またはマイナス記号は許容され、先頭の文字がシングルクォートまたはダブルクォートの場合、値はそれに続く文字のASCII値となる。 |
| 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‐
| | :書式は、すべての引数を消費するために必要に応じて再利用される。 その書式が,与えられた引数よりも多くの引数を必要とする場合,余分な書式指定は,適切な場合には,ゼロ値またはヌル文字列が与えられたかのように振る舞う。 戻り値は、成功した場合はゼロ、失敗した場合はゼロ以外である。 |
| 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:
| | ;<nowiki>pushd [-n] [+n] [-n]</nowikI> |
| | ;<nowiki>pushd [-n] [dir]</nowiki> |
| | :ディレクトリ・スタックの先頭にディレクトリを追加するか、スタックを回転させ、 新しいスタックの先頭を現在の作業ディレクトリにする。 引数がない場合、pushd はディレクトリスタックが空でない限り、上位 2 つのディレクトリを交換し、0 を返す。 引数が与えられた場合、以下の意味を持つ: |
| | :;-n |
| | ::スタックを回転したり、スタックにディレクトリを追加したりするときに、通常のディレクトリの変更を抑制し、スタックだけを操作するようにする。 |
| | :;+n |
| | ::スタックを回転させ、n番目のディレクトリ(dirsで示されるリストの左から数えて、ゼロから始まる)が一番上に来るようにする。 |
| | :;-n |
| | ::スタックを回転させ、n番目のディレクトリ(dirsで示されるリストの右から数えて、ゼロから始まる)が一番上に来るようにする。 |
| | :;dir |
| | ::dirをディレクトリスタックの先頭に追加し、あたかもcd組み込み関数の引数として与えられたかのように、新しいカレント作業ディレクトリとする。 |
|
| |
|
| assoc_expand_once
| | :pushdコマンドが成功した場合、dirsも実行される。 最初の形式を使用した場合、dir への cd が失敗しない限り、pushd は 0 を返す。 2番目の形式では、ディレクトリ・スタックが空であるか、存在しないディレクトリ・スタック要素が指定されるか、指定された新しいカレント・ディレクトリへのディレクトリ変更が失敗しない限り、pushdは0を返す。 |
| If set, the shell suppresses multiple evaluation of associative array subscripts
| |
| during arithmetic expression evaluation, while executing builtins that can perform
| |
| variable assignments, and while executing builtins that perform array dereferenc‐
| |
| ing.
| |
| autocd If set, a command name that is the name of a directory is executed as if it were
| |
| the argument to the cd command. This option is only used by interactive shells.
| |
| cdable_vars
| |
| If set, an argument to the cd builtin command that is not a directory is assumed
| |
| to be the name of a variable whose value is the directory to change to.
| |
| cdspell If set, minor errors in the spelling of a directory component in a cd command will
| |
| be corrected. The errors checked for are transposed characters, a missing charac‐
| |
| ter, and one character too many. If a correction is found, the corrected filename
| |
| is printed, and the command proceeds. This option is only used by interactive
| |
| shells.
| |
| checkhash
| |
| If set, bash checks that a command found in the hash table exists before trying to
| |
| execute it. If a hashed command no longer exists, a normal path search is per‐
| |
| formed.
| |
| checkjobs
| |
| If set, bash lists the status of any stopped and running jobs before exiting an
| |
| interactive shell. If any jobs are running, this causes the exit to be deferred
| |
| until a second exit is attempted without an intervening command (see JOB CONTROL
| |
| above). The shell always postpones exiting if any jobs are stopped.
| |
| checkwinsize
| |
| If set, bash checks the window size after each external (non-builtin) command and,
| |
| 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
| | ;<nowiki>pwd [-LP]</nowiki> |
| If set, bash quotes all shell metacharacters in filenames and directory names when
| | :現在の作業ディレクトリの絶対パス名を表示する。 Pオプションが指定されているか、set組み込みコマンドの -o物理オプションが有効になっている場合、出力されるパス名にはシンボリックリンクは含まれない。 Lオプションを使用すると、シンボリックリンクを含むパス名が出力される。 カレントディレクトリ名の読み込み中にエラーが発生するか、無効なオプションが指定されない限り、戻りステータスは 0 である。 |
| 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
| | ;<nowiki>read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]</nowiki> |
| If set, bash replaces directory names with the results of word expansion when per‐
| | :標準入力、または-uオプションの引数として与えられたファイル・ディスクリプタfdから1行が読み込まれ、上記の「単語の分割」で説明したように単語に分割され、最初の単語が最初の名前に、2番目の単語が2番目の名前に、といった具合に割り当てられる。 単語が名前より多い場合は、残りの単語とその間の区切り文字が最後の名前に割り当てられる。 入力ストリームから読み込まれた単語の数が名前の数より少ない場合、残りの名前には空の値が割り当てられる。 IFSの文字は、シェルが展開に使用するのと同じ規則を使用して行を単語に分割する ために使用される(上記の「単語の分割」で説明)。 バックスラッシュ文字( \)は、次に読み込まれる文字と行の継続のための特別な意味を取り除くために使用される。 オプションが与えられた場合、以下の意味を持つ: |
| forming filename completion. This changes the contents of the readline editing
| | :;-a aname |
| buffer. If not set, bash attempts to preserve what the user typed.
| | ::新しい値が代入される前に、anameはアンセットされる。 他の名前引数は無視される。 |
| | :;-d delim |
| | ::delimの最初の文字は、改行ではなく、入力行を終了するために使われる。 delimが空文字列の場合、readはNUL文字を読んだ時点で行を終了する。 |
| | :;-e |
| | ::標準入力がターミナルからの場合、行を取得するためにreadline(上記の[[#READLINE|READLINE ]]を参照)が使用される。 Readlineは、現在の(または行編集が以前にアクティブでなかった場合はデフォルトの)編集設定を使用するが、Readlineのデフォルトのファイル名補完を使用する。 |
| | :;-i text |
| | ::行の読み取りにreadlineが使われている場合、テキストは編集が始まる前に編集バッファに置かれる。 |
| | :;-n nchars |
| | ::readは、入力の完全な行を待つのではなく、nchars文字を読んだ後に戻るが、区切り文字の前にnchars文字より少ない文字が読み込まれた場合は、区切り文字を尊重する。 |
| | :;-N nchars |
| | ::readは、EOFに遭遇するかreadがタイムアウトしない限り、入力の完全な行を待つのではなく、正確にnchars文字を読んだ後に戻る。 入力中の区切り文字は特別に扱われず、nchars文字が読み込まれるまでreadが戻ることはない。 その意図は、読み込まれた文字がそのまま変数に代入されることである(バックスラッシュを除く。) |
| | :;-p prompt |
| | ::入力を読み込む前に、標準エラーにプロンプトを表示する。 プロンプトは、入力がターミナルから来た場合にのみ表示される。 |
| | :;-r |
| | ::バックスラッシュはエスケープ文字としては機能しない。 バックスラッシュは行の一部とみなされる。 特に、バックスラッシュと改行のペアを行の続きとして使用してはならない。 |
| | :;-s |
| | ::サイレントモード。 端末からの入力の場合、文字はエコーされない。 |
| | :;-t timeout |
| | ::timeout秒以内に入力の完全な行(または指定された文字数)が読み込まれなかった場合、readをタイムアウトさせ、失敗を返すようにする。timeoutには、小数点以下の端数を含む10進数を指定することができる。 このオプションは、readがターミナル、パイプ、その他の特殊なファイルから入力を読み込む場合にのみ有効で、通常のファイルから読み込む場合には効果がない。 readがタイムアウトした場合、readは読み込んだ入力の一部を指定した変数名に保存する。 タイムアウトが0の場合、readはデータの読み込みを試みずに直ちに戻る。 終了ステータスは、指定されたファイル記述子で入力が利用可能であれば0、そうでなければ0以外である。 タイムアウトを超えると、終了ステータスは128より大きくなる。 |
| | :;-u fd |
| | ::ファイルディスクリプタfdから入力を読み込む。 |
|
| |
|
| dirspell
| | :名前が与えられない場合、読み込まれた行は、終端デリミタなしで、それ以外は変更されずに、変数 REPLY に代入される。 終了ステータスは、ファイル終了に遭遇するか、読み込みがタイムアウトするか(この場合、ステータスは128より大きくなる)、変数代入エラー(読み取り専用変数への代入など)が発生するか、無効なファイル記述子が-uの引数として与えられない限り、0である。 |
| 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
| | ;<nowiki>readonly [-aAf] [-p] [name[=word] ...]</nowiki> |
| expansion. The filenames ``.'' and ``..'' must always be matched explicitly,
| | :指定された名前には読み取り専用マークが付けられ、以後の代入によってこれらの名前の値が変更されることはない。-f オプションを指定すると、その名前に対応する関数がそのようにマークされる。 -aオプションは変数を添字配列に制限し、-Aオプションは変数を連想配列に制限する。 両方のオプションが指定された場合は、-Aが優先される。 name 引数が与えられていない場合、または -p オプションが与えられている場合は、すべての読み取り専用名のリストが表示される。 他のオプションを使って、出力を読み取り専用名のサブセットに制限することができる。 pオプションを指定すると、入力として再利用できる形式で出力が表示される。 変数名の後に=wordが続くと、その変数の値がwordに設定される。 無効なオプションに遭遇した場合、名前の1つが有効なシェル変数名でない場合、または -f に関数でない名前が指定された場合を除き、戻り値は 0 である。 |
| even if dotglob is set.
| |
|
| |
|
| execfail
| | ;<nowiki>return [n]</nowiki> |
| If set, a non-interactive shell will not exit if it cannot execute the file speci‐
| | :関数の実行を停止し、nで指定された値を呼び出し元に返す。 nが省略された場合、returnのステータスは、関数本体内で最後に実行されたコマンドのステータスとなる。return がトラップハンドラによって実行される場合、ステータスを決定するために使用される最後のコマンドは、トラップハンドラの前に実行された最後のコマンドである。 returnがDEBUGトラップ中に実行された場合、ステータスを決定するために使用される最後のコマンドは、returnが呼び出される前にトラップハンドラによって実行された最後のコマンドである。 returnが関数の外で、.(ソース)コマンドによるスクリプトの実行中に使用された場合、そのスクリプトの実行をシェルに停止させ、nまたはスクリプト内で最後に実行されたコマンドの終了ステータスのいずれかをスクリプトの終了ステータスとして返す。 n が指定された場合、戻り値はその最下位 8 ビットである。 returnに数値以外の引数が指定された場合、または.やsourceによるスクリプトの実行中ではなく関数の外部で使用された場合、戻り値は0以外のステータスになる。RETURNトラップに関連付けられたコマンドは、関数またはスクリプトの実行後に実行が再開される前に実行される。 |
| fied as an argument to the exec builtin command. An interactive shell does not
| |
| exit if exec fails.
| |
|
| |
|
| expand_aliases
| | ;<nowiki>set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...]</nowiki> |
| If set, aliases are expanded as described above under ALIASES. This option is en‐
| | ;<nowiki>set [+abefhkmnptuvxBCEHPT] [+o option-name] [arg ...]</nowiki> |
| abled by default for interactive shells.
| | :オプションがなければ、各シェル変数の名前と値が、現在設定されている変数を設定またはリセットするための入力として再利用できる形式で表示される。 読み取り専用の変数はリセットできない。 posix モードでは、シェル変数のみが一覧表示される。 出力は、現在のロケールに従ってソートされる。 オプションが指定されると、シェル属性を設定または解除する。 オプション処理後に残った引数は、位置パラメータの値として扱われ、 $1, $2, ... $n の順に代入される。 オプションが指定された場合、以下の意味を持つ: |
| | :;-a |
| | ::作成または変更された各変数や関数にはexport属性が与えられ、後続のコマンドの環境にエクスポートされるようにマークされる。 |
| | :;-b |
| | ::終了したバックグラウンドジョブのステータスを、次のプライマリプロンプトの前ではなく、直ちに報告する。 これは、ジョブ制御が有効な場合にのみ有効である。 |
| | :;-e |
| | ::パイプライン(単一の単純なコマンドで構成される)、リスト、または複合コマンド(上記の [[#SHELL GRAMMAR|SHELL GRAMMAR ]]を参照)がゼロ以外のステータスで終了した場合、直ちに終了する。 失敗したコマンドが、whileまたはuntilキーワードの直後のコマンドリストの一部、ifまたはelif予約語に続くテストの一部、最後の&&または||に続くコマンドを除く&&または||リストで実行されるコマンドの一部、パイプラインの最後のコマンド以外のコマンド、コマンドの戻り値が! eが無視されている間にコマンドが失敗したため、サブシェル以外の複合コマンドがゼロ以外のステータスを返した場合、シェルは終了しない。 ERRのトラップが設定されている場合は、シェルが終了する前に実行される。 このオプションは、シェル環境と各サブシェル環境に個別に適用され (上記の「 [[#COMMAND EXECUTION ENVIRONMENT|COMMAND EXECUTION ENVIRONMENT ]]」を参照)、サブシェル内のすべてのコマンドを実行する前にサブシェルが終了することがある。 |
|
| |
|
| extdebug
| | ::-eが無視されるコンテキストで複合コマンドまたはシェル関数が実行される場合、-eが設定されているコマンドで失敗ステータスが返されたとしても、複合コマンドまたは関数本体内で実行されるコマンドはいずれも-e設定の影響を受けない。 -eが無視されるコンテキストで実行中に複合コマンドまたはシェル関数が-eを設定した場合、複合コマンドまたは関数呼び出しを含むコマンドが完了するまで、その設定は影響を及ぼさない。 |
| If set at shell invocation, or in a shell startup file, arrange to execute the de‐
| | :;-f |
| bugger profile before the shell starts, identical to the --debugger option. If
| | ::Disable pathname expansion. |
| set after invocation, behavior intended for use by debuggers is enabled:
| | :;-h |
| | ::コマンドを実行するために検索する際に、コマンドの場所を記憶する。 これはデフォルトで有効になっている。 |
| | :;-k |
| | ::コマンド名の前にある引数だけでなく、代入文の形をしたすべての引数がコマンドの環境に置かれる。 |
| | :;-m |
| | ::モニターモード。 ジョブ制御が有効になっている。 このオプションは、対話型シェルをサポートしているシステムではデフォルトでオンになっている(上記の [[#JOB CONTROL|JOB CONTROL ]]を参照)。 すべてのプロセスは別々のプロセスグループで実行される。 バックグラウンド・ジョブが完了すると、シェルは終了ステータスを含む行を表示する。 |
| | :;-n |
| | ::コマンドを読むが実行はしない。 これは、シェルスクリプトの構文エラーをチェックするために使用される。 対話型シェルでは無視される。 |
| | :;-o option-name |
| | ::オプション名は以下のいずれかである: |
| | ::allexport |
| | :::-aと同じ |
| | ::braceexpand |
| | :::-Bと同じ |
| | ::emacs |
| | :::emacsスタイルのコマンドライン編集インターフェイスを使用する。 これはデフォルトで有効になっている。ただし、 --noeditingオプションを指定してシェルを起動した場合はこの限りではない。 これは、read -eで使用される編集インターフェースにも影響する。 |
| | ::errexit |
| | :::-eと同じ |
| | ::errtrace |
| | :::-Eと同じ |
| | ::functrace |
| | :::-Tと同じ |
| | ::hashall |
| | :::-hと同じ |
| | ::histexpand |
| | :::-Hと同じ |
| | ::history |
| | :::上記の「 [[#HISTORY|HISTORY ]]」で説明したように、コマンドヒストリーを有効にする。 このオプションは対話型シェルではデフォルトでオンになっている。 |
| | ::ignoreeof |
| | :::あたかもシェルコマンド ``IGNOREEOF=10'' が実行されたかのような効果がある(上記のシェル変数を参照)。 |
| | ::keyword |
| | :::-kと同じ |
| | ::monitor |
| | :::-mと同じ |
| | ::noclobber |
| | :::-Cと同じ |
| | ::noexec |
| | :::-nと同じ |
| | ::noglob |
| | :::-fと同じ |
| | ::nolog |
| | :::現在は無視されている。 |
| | ::notify |
| | :::-bと同じ |
| | ::nounset |
| | :::-uと同じ |
| | ::onecmd |
| | :::-tと同じ |
| | ::physical |
| | :::-Pと同じ |
| | ::pipefail |
| | :::設定されている場合、パイプラインの戻り値は、0以外のステータスで終了した最後の(最も右側の)コマンドの値、またはパイプライン内のすべてのコマンドが正常に終了した場合は0になる。 このオプションはデフォルトでは無効になっている。 |
| | ::posix |
| | :::デフォルトの動作がPOSIX標準と異なるbashの動作を、標準に合わせるように変更する(posixモード)。 posixモードがbashの動作にどのような影響を与えるかを詳しく説明したドキュメントへのリファレンスは、以下のSEE ALSOを参照のこと。 |
| | ::privileged |
| | :::-pと同じ |
| | ::verbose |
| | :::-vと同じ |
| | ::vi |
| | :::Viスタイルのコマンドライン編集インターフェイスを使用する。 これは、read -eで使用される編集インターフェースにも影響する。 |
| | ::xtrace |
| | :::Same as -x. |
| | ::option-name なしで -o を指定すると、現在のオプションの値が表示される。 option-name なしで +o を指定すると、現在のオプション設定を再現する一連の set コマンドが標準出力に表示される。 |
| | :;-p |
| | ::特権モードをオンにする。 このモードでは、$ENV と $BASH_ENV ファイルは処理されず、シェル関数は環境から継承されず、 SHELLOPTS、BASHOPTS、CDPATH、GLOBIGNORE 変数が環境にある場合は無視される。 実効ユーザー(グループ)IDが実ユーザー(グループ)IDに等しくない状態でシェルが起動され、-pオプションが与えられなかった場合、これらのアクションが実行され、実効ユーザーIDが実ユーザーIDに設定される。 起動時に-pオプションが指定された場合、実効ユーザーIDはリセットされない。 このオプションをオフにすると、実効ユーザーIDとグループIDが実際のユーザーIDとグループIDに設定される。 |
| | :;-t |
| | ::コマンドを1つ読んで実行したら終了する。 |
| | :;-u |
| | ::特殊パラメータ "@" と "*" 以外の未設定の変数とパラメータを、パラメータ展開の際にエラーとして扱う。 未設定の変数やパラメータを展開しようとした場合、シェルはエラーメッセージを表示し、対話的でない場合は0以外のステータスで終了する。 |
| | :;-v |
| | ::シェルの入力行が読み込まれると、それを表示する。 |
| | :;-x |
| | ::各単純コマンド、forコマンド、caseコマンド、selectコマンド、または算術コマンドを展開した後、PS4の展開値を表示し、その後にコマンドとその展開された引数、または関連する単語リストを表示する。 |
| | :;-B |
| | ::シェルはブレース展開を行う(上記のブレース展開を参照)。 これはデフォルトでオンになっている。 |
| | :;-C |
| | ::設定すると、bashは既存のファイルを>、>&、<>リダイレクト演算子で上書きしない。 この設定は、出力ファイルを作成するときに > の代わりに >| というリダイレクト演算子を使うことで上書きすることができる。 |
| | :;-E |
| | ::設定されている場合、ERRのトラップはすべて、シェル関数、コマンド置換、サブシェル環境で実行されるコマンドに継承される。 このような場合、ERRトラップは通常継承されない。 |
| | :;-H |
| | ::スタイルの履歴置換を有効にする。 このオプションは、シェルが対話型の場合、デフォルトでオンになる。 |
| | :;-P |
| | ::設定されていると、カレント作業ディレクトリを変更するcdなどのコマンドを実行するときに、シェルはシンボリックリンクを解決しない。 代わりに物理的なディレクトリ構造を使用する。 デフォルトでは、カレント・ディレクトリを変更するコマンドを実行するとき、bashはディレクトリの論理的な連鎖に従う。 |
| | :;-T |
| | ::設定されている場合、DEBUGとRETURNのトラップは、シェル関数、コマンド置換、サブシェル環境で実行されるコマンドに継承される。 DEBUGとRETURNのトラップは通常、このような場合には継承されない。 |
| | :;-- |
| | ::このオプションの後に引数が続かない場合、位置パラメーターは設定されない。そうでない場合、位置パラメーターは引数に設定され、たとえ引数の一部が-で始まるとしても、位置パラメーターは引数に設定される。 |
| | :;- |
| | ::オプションの終了を合図し、残りのすべての引数を位置パラメーターに代入させる。 xと-vオプションはオフになる。 引数がない場合、位置パラメーターは変更されない。 |
|
| |
|
| 1. The -F option to the declare builtin displays the source file name and line
| | :特に断りのない限り、オプションはデフォルトでオフになっている。 ではなく+を使用すると、これらのオプションはオフになる。 オプションは、シェルを起動する際の引数として指定することもできる。 現在のオプションのセットは $- にある。 無効なオプションに遭遇しない限り、戻り値は常に真である。 |
| 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
| | ;<nowiki>shift [n]</nowiki> |
| command is skipped and not executed.
| | :n+1 ...までの位置パラメーターは$1 ...に改名される。 nは、$#以下の非負の数でなければならない。 nが0の場合、パラメーターは変更されない。 nが与えられない場合、1とみなされる。 nが$#より大きい場合、位置パラメーターは変更されない。 戻り値は、nが$#より大きいか0より小さい場合は0より大きく、それ以外は0である。 |
|
| |
|
| 3. If the command run by the DEBUG trap returns a value of 2, and the shell is
| | ;<nowiki>shopt [-pqsu] [-o] [optname ...]</nowiki> |
| executing in a subroutine (a shell function or a shell script executed by
| | :オプションのシェル動作を制御する設定の値を切り替える。 設定値は、以下に列挙するものか、-o オプションを使用した場合は set 組み込みコマンドの -o オプションで使用可能なものである。 オプションなし、または -p オプションを指定すると、設定可能なすべてのオプションのリストが表示され、それぞれが設定されているかどうかが示される。 -pオプションを指定すると、入力として再利用できる形式で出力が表示される。 その他のオプションの意味は以下のとおりである: |
| the . or source builtins), the shell simulates a call to return.
| | :;-s |
| | ::それぞれのoptnameを有効にする(設定する)。 |
| | :;-u |
| | ::各 optname を無効にする(設定解除する)。 |
| | :;-q |
| | ::通常の出力を抑制する(クワイエットモード)。戻り値は、optnameが設定されているか否かを示す。 複数のoptname引数を-qで指定した場合、すべてのoptnameが有効になっていれば戻り値は0であり、そうでなければ0ではない。 |
| | :;-o |
| | ::optnameの値を、setビルトインの-oオプションで定義された値に制限する。 |
|
| |
|
| 4. BASH_ARGC and BASH_ARGV are updated as described in their descriptions
| | :optname引数を指定せずに-sまたは-uを使用した場合、shoptはそれぞれ設定または未設定のオプションのみを表示する。 特に断りのない限り、shoptのオプションはデフォルトで無効(未設定)になっている。 |
| above.
| |
|
| |
|
| 5. Function tracing is enabled: command substitution, shell functions, and
| | :オプションを一覧表示するときの戻りステータスは、すべての optname が有効な場合は 0 であり、そうでない場合は 0 以外である。 オプションを設定または解除する場合、optnameが有効なシェルオプションでない場合を除き、戻り値は0である。 |
| subshells invoked with ( command ) inherit the DEBUG and RETURN traps.
| |
|
| |
|
| 6. Error tracing is enabled: command substitution, shell functions, and sub‐
| | :ショップオプションのリストは以下の通り: |
| shells invoked with ( command ) inherit the ERR trap.
| |
|
| |
|
| extglob If set, the extended pattern matching features described above under Pathname Ex‐
| | :;assoc_expand_once |
| pansion are enabled.
| | ::設定されている場合、シェルは、算術式評価中、変数代入を実行できるビルドイン実行中、および配列の再参照を実行するビルドイン実行中に、連想配列添え字の多重評価を抑制する。 |
| | :;autocd |
| | ::設定された場合、ディレクトリ名であるコマンド名は、あたかもcdコマンドの引数であるかのように実行される。 このオプションは対話型シェルでのみ使用される。 |
| | ;;cdable_vars |
| | ::設定された場合、ディレクトリでないcd組み込みコマンドの引数は、変更先のディレクトリを値とする変数名とみなされる。 |
| | :;cdspell |
| | ::設定された場合、cdコマンドのディレクトリ構成要素のスペルにおける軽微なエラーが修正される。 チェックされる誤りは、文字が入れ替わっている、文字が欠けている、 1文字多い、などである。 修正が見つかった場合、修正されたファイル名が表示され、コマンドは続行される。 このオプションは対話型シェルでのみ使用される。 |
| | :;checkhash |
| | ::セットされていると、bashはハッシュ・テーブルで見つかったコマンドを実行しようとする前に、そのコマンドが存在するかどうかをチェックする。 ハッシュ化されたコマンドがもはや存在しない場合は、通常のパス検索が実行される。 |
| | :;checkjobs |
| | ::設定されている場合、bashは対話型シェルを終了する前に、停止中および実行中のジョブのステータスを一覧表示する。 実行中のジョブがある場合、コマンドを介さずに2回目の終了を試みるまで終了が延期される(上記の[[#JOB CONTROL|JOB CONTROL ]]を参照)。 停止中のジョブがある場合、シェルは常に終了を延期する。 |
| | :;checkwinsize |
| | ::このオプションを設定すると、bashは外部(ビルトインでない)コマンドを実行するたびにウィンドウ・サイズをチェックし、必要に応じてLINESとCOLUMNSの値を更新する。 このオプションはデフォルトで有効になっている。 |
| | :;cmdhist |
| | ::これを設定すると、bashは複数行コマンドのすべての行を同じ履歴エントリに保存しようとする。 これにより、複数行コマンドの再編集が容易になる。 このオプションはデフォルトで有効になっているが、上記の「[[#HISTORY|HISTORY ]]」で説明したように、コマンドヒストリが有効になっている場合にのみ効果がある。 |
| | :;compat31 |
| | :;compat32 |
| | :;compat40 |
| | :;compat41 |
| | :;compat42 |
| | :;compat43 |
| | :;compat44 |
| | ::これらは、シェルの互換モードの側面を制御する(以下の「[[#SHELL COMPATIBILITY MODE|SHELL COMPATIBILITY MODE ]]」を参照)。 |
| | :;complete_fullquote |
| | ::設定されている場合、bashは補完を実行するときにファイル名とディレクトリ名に含まれるすべてのシェル・メタ文字を引用符で囲む。 設定されていない場合、補完されるファイル名のシェル変数参照にドル記号のようなメタキャラクタがあると、bashはそのメタキャラクタを引用符で囲む文字から除外する。つまり、ディレクトリに展開される変数名のドル記号は引用されないが、ファイル名に現れるドル記号も引用されない。 これは、bashがバックスラッシュを使って補完されたファイル名を引用している場合にのみ有効である。 この変数はデフォルトで設定されており、これは4.2までのバージョンにおけるbashのデフォルトの動作である。 |
|
| |
|
| extquote
| | :;direxpand |
| If set, $'string' and $"string" quoting is performed within ${parameter} expan‐
| | ::これを設定すると、bashはファイル名の補完を実行するときに、ディレクトリ名を単語展開の結果に置き換える。 これにより、readline編集バッファの内容が変更される。 設定されていない場合、bashはユーザーが入力した内容を保持しようとする。 |
| sions enclosed in double quotes. This option is enabled by default.
| |
|
| |
|
| failglob
| | :;dirspell |
| If set, patterns which fail to match filenames during pathname expansion result in
| | ::設定すると、最初に与えられたディレクトリ名が存在しない場合、bashは単語補完時にディレクトリ名のスペル修正を試みる。 |
| an expansion error.
| |
|
| |
|
| force_fignore
| | :;dotglob |
| If set, the suffixes specified by the FIGNORE shell variable cause words to be ig‐
| | ::.'で始まるファイル名をパス名の展開結果に含める。 ドットグロブがセットされていても、ファイル名 ``.'' と ``...'' は常に明示的にマッチさせる必要がある。 |
| 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
| | :;execfail |
| If set, range expressions used in pattern matching bracket expressions (see Pat‐
| | ::設定された場合、非対話型シェルは、exec 組み込みコマンドの引数として指定されたファイルを実行できなくても終了しない。 対話型シェルは、exec に失敗しても終了しない。 |
| 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
| | :;expand_aliases |
| If set, the pattern ** used in a pathname expansion context will match all files
| | ::設定されている場合、エイリアスは上記の ALIASES で説明されているように展開される。 このオプションは対話型シェルではデフォルトで有効になっている。 |
| and zero or more directories and subdirectories. If the pattern is followed by a
| |
| /, only directories and subdirectories match.
| |
|
| |
|
| gnu_errfmt
| | :;extdebug |
| If set, shell error messages are written in the standard GNU error message format.
| | ::シェル起動時、またはシェル起動ファイルに設定すると、 --debuggerオプションと同じように、シェル起動前にデバッガ・プロファイルを実行するようにアレンジする。 起動後に設定すると、デバッガが使用することを意図した動作が有効になる: |
|
| |
|
| histappend
| | :::1. declareビルトインの-Fオプションは、引数として与えられた各関数名に対応するソースファイル名と行番号を表示する。 |
| If set, the history list is appended to the file named by the value of the HIST‐
| |
| FILE variable when the shell exits, rather than overwriting the file.
| |
|
| |
|
| histreedit
| | :::2. DEBUGトラップによって実行されたコマンドがゼロ以外の値を返した場合、次のコマンドはスキップされ実行されない。 |
| If set, and readline is being used, a user is given the opportunity to re-edit a
| |
| failed history substitution.
| |
|
| |
|
| histverify
| | :::3. DEBUGトラップによって実行されたコマンドが値2を返し、シェルがサブルーチン(シェル関数または.NETやソース・ビルトインによって実行されるシェル・スクリプト)で実行されている場合、シェルはreturnの呼び出しをシミュレートする。 |
| If set, and readline is being used, the results of history substitution are not
| |
| immediately passed to the shell parser. Instead, the resulting line is loaded
| |
| into the readline editing buffer, allowing further modification.
| |
|
| |
|
| hostcomplete
| | :::4. BASH_ARGCとBASH_ARGVは、上記の説明に従って更新される。 |
| If set, and readline is being used, bash will attempt to perform hostname comple‐
| |
| tion when a word containing a @ is being completed (see Completing under READLINE
| |
| above). This is enabled by default.
| |
|
| |
|
| huponexit
| | :::5. コマンド置換、シェル関数、および ( コマンド ) で呼び出されるサブシェルは、DEBUG および RETURN トラップを継承する。 |
| If set, bash will send SIGHUP to all jobs when an interactive login shell exits.
| |
|
| |
|
| inherit_errexit
| | :::6. コマンド置換、シェル関数、および ( コマンド ) で呼び出されたサブシェルは、ERR トラップを継承する。 |
| If set, command substitution inherits the value of the errexit option, instead of
| |
| unsetting it in the subshell environment. This option is enabled when posix mode
| |
| is enabled.
| |
|
| |
|
| interactive_comments
| | :;extglob |
| 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
| | :;extquote |
| If set, and job control is not active, the shell runs the last command of a pipe‐
| | ::設定すると、${parameter}を二重引用符で囲んだ展開の中で、$'string'と$"string "の引用符付けが行われる。 このオプションはデフォルトで有効になっている。 |
| 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
| | :;failglob |
| history with embedded newlines rather than using semicolon separators where possi‐
| | ::設定すると、パス名展開時にファイル名にマッチしないパターンは展開エラーとなる。 |
| ble.
| |
|
| |
|
| localvar_inherit
| | :;force_fignore |
| If set, local variables inherit the value and attributes of a variable of the same
| | ::設定されていると、FIGNOREシェル変数で指定された接尾辞は、単語補完を実行するときに、無視された単語が唯一の可能な補完であっても無視される。 FIGNOREについての説明は上記の[[#SHELL VARIABLES|SHELL VARIABLES ]]を参照のこと。 このオプションはデフォルトで有効になっている。 |
| name that exists at a previous scope before any new value is assigned. The
| |
| nameref attribute is not inherited.
| |
|
| |
|
| localvar_unset
| | :;globasciiranges |
| If set, calling unset on local variables in previous function scopes marks them so
| | ::これを設定すると、パターンマッチングの括弧式で使用される範囲式(上記の [[#Pattern Matching|Pattern Matching ]]を参照)は、比較を実行するときに従来のCロケールのように 動作する。 つまり、現在のロケールの照合順序は考慮されないので、 bはAとBの間で照合されず、大文字と小文字のASCII文字は一緒に照合される。 |
| 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
| | :;globstar |
| The shell sets this option if it is started as a login shell (see INVOCATION
| | ::設定されている場合、パス名展開コンテキストで使われるパターン ** は、すべてのファイルと0個以上のディレクトリとサブディレクトリにマッチする。 パターンの後に/が続くと、ディレクトリとサブディレクトリにのみマッチする。 |
| above). The value may not be changed.
| |
|
| |
|
| mailwarn
| | :;gnu_errfmt |
| If set, and a file that bash is checking for mail has been accessed since the last
| | ::設定すると、シェルのエラーメッセージは標準のGNUエラーメッセージ形式で書かれる。 |
| time it was checked, the message ``The mail in mailfile has been read'' is dis‐
| |
| played.
| |
|
| |
|
| no_empty_cmd_completion
| | :;histappend |
| If set, and readline is being used, bash will not attempt to search the PATH for
| | ::設定された場合、シェルの終了時に、履歴リストはファイルを上書きするのではなく、HISTFILE変数の値で指定されたファイルに追加される。 |
| possible completions when completion is attempted on an empty line.
| |
|
| |
|
| nocaseglob
| | :;histreedit |
| If set, bash matches filenames in a case-insensitive fashion when performing path‐
| | ::readlineが設定され、かつreadlineが使用されている場合、失敗した履歴の置換を再編集する機会がユーザーに与えられる。 |
| name expansion (see Pathname Expansion above).
| |
|
| |
|
| nocasematch
| | :;histverify |
| If set, bash matches patterns in a case-insensitive fashion when performing match‐
| | ::セットされていてreadlineが使用されている場合、ヒストリ置換の結果はすぐにシェル・パーサーに渡されない。 その代わりに、結果の行がreadline編集バッファにロードされ、さらに修正できるようになる。 |
| 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
| | :;hostcomplete |
| If set, bash allows patterns which match no files (see Pathname Expansion above)
| | ::readlineが使用されている場合、@を含む単語が補完されると、bashはホスト名の補完を試みる(上記のREADLINEでの補完を参照)。 これはデフォルトで有効になっている。 |
| to expand to a null string, rather than themselves.
| |
|
| |
|
| progcomp
| | :;huponexit |
| If set, the programmable completion facilities (see Programmable Completion above)
| | ::設定すると、対話型ログイン・シェルが終了したときに、bashはすべてのジョブにSIGHUPを送信する。 |
| are enabled. This option is enabled by default.
| |
|
| |
|
| progcomp_alias
| | :;inherit_errexit |
| If set, and programmable completion is enabled, bash treats a command name that
| | ::このオプションを設定すると、サブシェル環境でerrexitオプショ ンを設定解除する代わりに、コマンド置換がerrexitオプションの値を継承する。 このオプションは、posixモードが有効な場合に有効になる。 |
| 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
| | :;interactive_comments |
| If set, prompt strings undergo parameter expansion, command substitution, arith‐
| | ::このオプションが設定されている場合、#で始まる単語を許可すると、その単語とその行の残りのすべての文字が対話型シェルで無視される(上記の[[#COMMENTS|COMMENTS ]]を参照)。このオプションはデフォルトで有効になっている。 |
| metic expansion, and quote removal after being expanded as described in PROMPTING
| |
| above. This option is enabled by default.
| |
|
| |
|
| restricted_shell
| | :;lastpipe |
| The shell sets this option if it is started in restricted mode (see RESTRICTED
| | ::設定され、ジョブ制御がアクティブでない場合、シェルは、現在のシェル環境でバックグラウンドで実行されていないパイプラインの最後のコマンドを実行する。 |
| 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
| | :;lithist |
| If set, the shift builtin prints an error message when the shift count exceeds the
| | ::cmdhist オプションが有効な場合、複数行のコマンドは可能な限りセミコロン区切りではなく、改行を埋め込んで履歴に保存される。 |
| number of positional parameters.
| |
|
| |
|
| sourcepath
| | :;localvar_inherit |
| If set, the source (.) builtin uses the value of PATH to find the directory con‐
| | ::設定されている場合、ローカル変数は、新しい値が代入される前に、前のスコープに存在する同名の変数の値と属性を継承する。 nameref属性は継承されない。 |
| taining the file supplied as an argument. This option is enabled by default.
| |
|
| |
|
| xpg_echo
| | :;localvar_unset |
| If set, the echo builtin expands backslash-escape sequences by default.
| | ::セットされている場合、以前の関数スコープにあるローカル変数に対してunsetを呼び出すと、その関数が返されるまでの間、後続のルックアップでunsetが見つかるようにマークされる。これは、現在の関数スコープでローカル変数をアンセットしたときの動作と同じである。 |
|
| |
|
| suspend [-f]
| | :;login_shell |
| Suspend the execution of this shell until it receives a SIGCONT signal. A login shell
| | ::シェルは、ログイン・シェルとして起動する場合、このオプションを設定する(上記の[[#INVOCATION|INVOCATION ]]を参照)。 この値は変更できない。 |
| cannot be suspended; the -f option can be used to override this and force the suspension.
| |
| 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
| | :;mailwarn |
| [ expr ]
| | ::もしセットされていて、bashがメールをチェックしているファイルが前回チェックしたときからアクセスされていた場合、``The mailfile has been read''というメッセージが表示される。 |
| Return a status of 0 (true) or 1 (false) depending on the evaluation of the conditional
| |
| expression expr. Each operator and operand must be a separate argument. Expressions are
| |
| composed of the primaries described above under CONDITIONAL EXPRESSIONS. test does not
| |
| accept any options, nor does it accept and ignore an argument of -- as signifying the end
| |
| of options.
| |
|
| |
|
| Expressions may be combined using the following operators, listed in decreasing order of
| | :;no_empty_cmd_completion |
| precedence. The evaluation depends on the number of arguments; see below. Operator
| | ::readlineが使用されている場合、空の行で補完を試みても、PATHを検索して補完を試みることはない。 |
| 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
| | :;nocaseglob |
| arguments.
| | ::設定すると、bashはパス名展開(上記の[[#Pathname Expansion|Pathname Expansion ]]を参照)の際に、大文字と小文字を区別せずにファイル名をマッチングする。 |
|
| |
|
| 0 arguments
| | :;nocasematch |
| The expression is false.
| | ::設定されていると、bashは大文字小文字を区別せずにパターンをマッチングする。大文字小文字や<nowiki>[[</nowiki> 条件付きコマンドの実行中にマッチングを行う場合、パターン置換の単語展開を行う場合、プログラム可能な補完の一部として可能な補完をフィルタリングする場合などである。 |
| 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‐
| | :;nullglob |
| ing.
| | ::これを設定すると、bashはマッチするファイルがないパターン(上記の[[#Pathname Expansion|Pathname Expansion ]]を参照)を、それ自身ではなくNULL文字列に展開することができる。 |
|
| |
|
| times Print the accumulated user and system times for the shell and for processes run from the
| | :;progcomp |
| shell. The return status is 0.
| | ::設定されている場合、プログラマブル補完機能(上記の[[#Programmable Completion|Programmable Completion ]]を参照)が有効になる。 このオプションはデフォルトで有効になっている。 |
|
| |
|
| trap [-lp] [[arg] sigspec ...]
| | :;progcomp_alias |
| The command arg is to be read and executed when the shell receives signal(s) sigspec. If
| | ::設定され、プログラム可能な補完が有効になっている場合、bashは補完を持たないコマンド名をエイリアスの可能性があるものとして扱い、エイリアスの展開を試みる。エイリアスを持っている場合、bashは展開されたエイリアスの結果のコマンドワードを使用してプログラマブル補完を試みる。 |
| 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
| | :;promptvars |
| is DEBUG, the command arg is executed before every simple command, for command, case com‐
| | ::設定されている場合、プロンプト文字列は、上記のPROMPTINGで説明されているように 展開された後に、パラメータ展開、コマンド置換、算術展開、引用符除去を受ける。 このオプションはデフォルトで有効になっている。 |
| 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
| | :;restricted_shell |
| a single simple command), a list, or a compound command returns a non-zero exit status,
| | ::シェルが制限付きモードで起動した場合、このオプションが設定される(下記の[[#RESTRICTED SHELL|RESTRICTED SHELL ]]を参照)。 この値は変更できない。 これは起動ファイルが実行されてもリセットされないので、起動ファイルはシェルが制限されているかどうかを発見することができる。 |
| 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
| | :;shift_verbose |
| are not being ignored are reset to their original values in a subshell or subshell envi‐
| | ::設定されている場合、シフトカウントが位置パラメーターの数を超えると、shift 組み込み関数はエラーメッセージを表示する。 |
| ronment when one is created. The return status is false if any sigspec is invalid; other‐
| |
| wise trap returns true.
| |
|
| |
|
| type [-aftpP] name [name ...]
| | :;sourcepath |
| With no options, indicate how each name would be interpreted if used as a command name.
| | ::このオプションを設定すると、source (.) 組み込み関数が PATH の値を使用して、 引数として指定されたファイルを含むディレクトリを検索する。 このオプションはデフォルトで有効になっている。 |
| If the -t option is used, type prints a string which is one of alias, keyword, function,
| |
| builtin, or file if name is an alias, shell reserved word, function, builtin, or disk
| |
| 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
| |
| 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
| |
| 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‐
| |
| 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
| |
| of hashed commands is not consulted when using -a. The -f option suppresses shell func‐
| |
| tion lookup, as with the command builtin. type returns true if all of the arguments are
| |
| found, false if any are not found.
| |
|
| |
|
| ulimit [-HS] -a
| | :;xpg_echo |
| ulimit [-HS] [-bcdefiklmnpqrstuvxPRT [limit]]
| | ::設定すると、echo組み込み関数はデフォルトでバックスラッシュ・エスケープ・シーケンスを展開する。 |
| 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>suspend [-f]</nowiki> |
| resource. If no option is given, then -f is assumed. Values are in 1024-byte increments,
| | :SIGCONT シグナルを受け取るまで、このシェルの実行を一時停止する。 ログインシェルはサスペンドできない。-f オプションを使用すると、これを上書きして強制的にサスペンドできる。シェルがログイン・シェルで -f が指定されていない場合、またはジョブ制御が有効になっていない場合、戻り値は 0 である。 |
| 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]
| | ;test expr |
| The user file-creation mask is set to mode. If mode begins with a digit, it is inter‐
| | ;<nowiki>[ expr ]</nowiki> |
| preted as an octal number; otherwise it is interpreted as a symbolic mode mask similar to
| | :条件式exprの評価に応じて、0(真)または1(偽)のステータスを返す。 各演算子とオペランドは別々の引数でなければならない。 testはいかなるオプションも受け付けないし、オプションの終了を意味する--という引数も受け付けず無視する。 |
| 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 ...]
| | :式は以下の演算子を使って組み合わせることができる。 評価は引数の数に依存する。 演算子の優先順位は、引数が5つ以上ある場合に使用される。 |
| Remove each name from the list of defined aliases. If -a is supplied, all alias defini‐
| | :;! expr |
| tions are removed. The return value is true unless a supplied name is not a defined
| | ::exprがfalseなら真。 |
| alias.
| | :;( expr ) |
| | ::expr の値を返す。 これは、演算子の通常の優先順位を上書きするために使われる。 |
| | :;expr1 -a expr2 |
| | ::expr1とexpr2の両方が真なら真である。 |
| | :;expr1 -o expr2 |
| | ::expr1 または expr2 のどちらかが真なら真。 |
|
| |
|
| unset [-fv] [-n] [name ...]
| | :testと<nowiki>[</nowiki> は、引数の数に基づく一連のルールを使って条件式を評価する。 |
| For each name, remove the corresponding variable or function. If the -v option is given,
| |
| 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 ...]
| | :;0 arguments |
| 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
| | :;1 argument |
| pipeline are waited for. If id is not given, wait waits for all running background jobs
| | ::この式は、引数がNULLでない場合にのみ真となる。 |
| and the last-executed process substitution, if its process id is the same as $!, and the
| | :;2 arguments |
| return status is zero. If the -n option is supplied, wait waits for a single job from the
| | ::最初の引数が! の場合、式は2番目の引数がNULLの場合のみ真となる。 最初の引数が、上記の「条件式」に列挙された単項条件演算子のいずれかである場合、単項テストが真であれば式は真となる。 最初の引数が有効な単項条件演算子でない場合、式は偽となる。 |
| list of ids or, if no ids are supplied, any job, to complete and returns its exit status.
| | :;3 arguments |
| If none of the supplied arguments is a child of the shell, or if no arguments are supplied
| | ::以下の条件は、列挙された順序で適用される。 第2引数が、上記の「条件式」の項に列挙された二項条件演算子の1つである場合、式の結果は、第1引数と第3引数をオペランドとして使用した二項検定の結果となる。 a演算子と-o演算子は、3つの引数がある場合、二項演算子とみなされる。 第1引数が! の場合、値は、第2引数と第3引数を使った2引数テストの否定となる。 第1引数が正確に(かつ第3引数が正確に)である場合、結果は第2引数の1引数テストとなる。 そうでない場合、式は偽となる。 |
| and the shell has no unwaited-for children, the exit status is 127. If the -p option is
| | :;4 arguments |
| supplied, the process or job identifier of the job for which the exit status is returned
| | ::最初の引数が!の場合、結果は残りの引数で構成される3つの引数式の否定となる。 そうでない場合、式はパースされ、上に挙げたルールを使って優先順位に従って評価される。 |
| is assigned to the variable varname named by the option argument. The variable will be
| | :;5 or more arguments |
| 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
| | :演算子 < と > は、test または [ と一緒に使われると、ASCIIの順序で辞書順にソートされる。 |
| Bash-4.0 introduced the concept of a `shell compatibility level', specified as a set of options
| |
| to the shopt builtin compat31, compat32, compat40, compat41, and so on). There is only one 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
| | ;times |
| compat32 means that quoting the rhs of the regexp matching operator quotes special regexp charac‐
| | :シェルおよびシェルから実行されたプロセスの累積ユーザー時間および累積システム時間を表示する。 戻り値は 0 である。 |
| 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
| | ;<nowiki>trap [-lp] [[arg] sigspec ...]</nowiki> |
| and including the current compatibility level. The idea is that each compatibility level con‐
| | :コマンド arg は、シェルがシグナル sigspec を受け取ったときに読み込まれ、実行される。 arg が存在しない場合 (sigspec が1つの場合) または - の場合、指定された各シグナルは元の値 (シェルに入ったときの値) にリセットされる。 arg が NULL 文字列の場合、各 sigspec で指定されたシグナルは、シェルおよびシェルが呼び出すコマンドによって無視される。 arg が存在せず、-p が供給された場合、各 sigspec に関連付けられたトラップコマンドが表示される。 引数がない場合、または -p だけが与えられた場合、 trap は各シグナルに関連付けられたコマンドのリストを表示する。 lオプションを指定すると、シェルはシグナル名とそれに対応する番号のリストを表示する。 各sigspecは、<signal.h>で定義されているシグナル名かシグナル番号である。 シグナル名は大文字と小文字を区別せず、接頭辞 SIG はオプションである。 |
| 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
| | :sigspecがEXIT(0)の場合、コマンドargはシェルからの終了時に実行される。 sigspecがDEBUGの場合、コマンドargは、単純コマンド、forコマンド、caseコマンド、selectコマンド、すべての算術forコマンド、およびシェル関数内で最初のコマンドが実行される前に実行される(上記の[[#SHELL GRAMMAR|SHELL GRAMMAR ]]を参照)。 DEBUGトラップに対する効果の詳細については、shopt組み込みのextdebugオプションの説明を参照のこと。 sigspec が RETURN の場合、.source または source 組み込み関数で実行されたシェル関数またはスクリプトが実行を終了するたびに、コマンド arg が実行される。 |
| 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
| | :sigspecがERRの場合、パイプライン(単一の単純なコマンドで構成されることもある)、リスト、または複合コマンドが、以下の条件に従って、ゼロ以外の終了ステータスを返すたびに、コマンドargが実行される。 ERR トラップは、失敗したコマンドが while または until キーワードの直後のコマンドリストの一部である場合、if 文のテストの一部である場合、最後の && または || に続くコマンド以外の && または || リストで実行されるコマンドの一部である場合、パイプラインの最後のコマンド以外のコマンドである場合、コマンドの戻り値が ! これらは、errexit (-e)オプションが従う条件と同じである。 |
| 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
| | :シェルに入ったときに無視されたシグナルは、トラップもリセットもできない。 無視されないトラップされたシグナルは、サブシェルまたはサブシェル環境が作成されると、元の値にリセットされる。 sigspecが無効な場合、戻りステータスはfalseになり、そうでなければtrapはtrueを返す。 |
| 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‐
| | ;<nowiki>type [-aftpP] name [name ...]</nowiki> |
| ting. The compatNN tag is used as shorthand for setting the compatibility level to NN using one
| | :オプションがない場合は、それぞれの名前がコマンド名として使われた場合にどのように解釈されるかを示す。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を返す。 |
| 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
| | ;<nowiki>ulimit [-HS] -a</nowiki> |
| • quoting the rhs of the [[ command's regexp matching operator (=~) has no special
| | ;<nowiki>ulimit [-HS] [-bcdefiklmnpqrstuvxPRT [limit]]</nowiki> |
| effect
| | :シェルやシェルによって起動されるプロセスが利用可能なリソースを制御する。-Hおよび-Sオプションは、指定されたリソースに対してハードリミットまたはソフトリミットを設定することを指定する。 ハードリミットは、一度設定されると非 root ユーザーが増やすことはできない。 Hも-Sも指定しない場合、ソフトリミットとハードリミットの両方が設定される。 limitの値には、リソースに指定された単位の数値を指定するか、特別な値hard、soft、unlimitedのいずれかを指定する。hardは現在のハードリミット、softは現在のソフトリミット、unlimitedはリミットなしをそれぞれ表す。 limitが省略された場合は、-Hオプションが与えられていない限り、リソースのソフトリミットの現在値が表示される。 複数のリソースを指定した場合は、値の前にリミット名と単位 (適切な場合) が表示される。 その他のオプションは、以下のように解釈される: |
| | :;-a |
| | ::すべての電流制限を報告する。 |
| | :;-b |
| | ::ソケットバッファの最大サイズ |
| | :;-c |
| | ::作成されるコアファイルの最大サイズ |
| | :;-d |
| | プロセスのデータセグメントの最大サイズである。 |
| | :;-e |
| | スケジューリング優先度の最大値("nice")。 |
| | :;-f |
| | シェルとその子プロセスが書き込むファイルの最大サイズである。 |
| | :;-i |
| | ::pending シグナルの最大数 |
| | :;-k |
| | ::割り当て可能なkキューの最大数 |
| | :;-l |
| | ::メモリにロックできる最大サイズ |
| | :;-m |
| | ::常駐セットの最大サイズ(多くのシステムはこの制限を守らない) |
| | :;-n |
| | ::開いているファイル記述子の最大数(多くのシステムはこの値の設定を許可しない) |
| | :;-p |
| | ::512バイトブロック単位のパイプサイズ(この値は設定できない場合がある) |
| | :;-q |
| | ::POSIXメッセージ・キューの最大バイト数 |
| | :;-r |
| | ::リアルタイム・スケジューリングの最大優先度 |
| | :;-s |
| | ::最大スタックサイズ |
| | :;-t |
| | ::最大CPU時間(秒) |
| | :;-u |
| | ::1ユーザーが利用可能な最大プロセス数 |
| | :;-v |
| | ::シェルと、システムによってはその子シェルが利用可能な仮想メモリの最大量 |
| | :;-x |
| | ::ファイルロックの最大数 |
| | :;-P |
| | ::疑似端末の最大数 |
| | :;-R |
| | ::リアルタイムプロセスがブロックされるまでに実行できる最大時間(マイクロ秒単位 |
| | :;-T |
| | ::スレッドの最大数 |
|
| |
|
| compat32
| | :limitが与えられ、-aオプションが使われていない場合、 limitは指定されたリソースの新しい値になる。 オプションが与えられていない場合は、-fが仮定される。 ただし、-tは秒単位、-Rはマイクロ秒単位、-pは512バイトブロック単位、 -P、-T、-b、-k、-n、-uはスケールなし、 posixモードでは-cと-fは512バイト単位である。 無効なオプションや引数が与えられるか、新しいリミット値の設定中にエラーが発生しない限り、戻り値は0である。 |
| • interrupting a command list such as "a ; b ; c" causes the execution of the next
| |
| command in the list (in bash-4.0 and later versions, the shell acts as if it re‐
| |
| ceived the interrupt, so interrupting one command in a list aborts the execution of
| |
| the entire list)
| |
|
| |
|
| compat40
| | ;<nowiki>umask [-p] [-S] [mode]</nowiki> |
| • the < and > operators to the [[ command do not consider the current locale when
| | :ユーザーファイル作成マスクは mode に設定される。 mode が数字で始まる場合は、8進数として解釈される。そうでない場合は、 chmod(1) が受け付けるものと同様のシンボリック・モード・マスクとして解釈される。 modeが省略された場合、マスクの現在の値が表示される。-Sオプションを指定すると、マスクが記号形式で表示される。 -pオプションが与えられ、modeが省略された場合、入力として再利用可能な形式で出力される。 戻りステータスは、モードの変更に成功した場合、または mode 引数が与えられなかった場合は 0 であり、そうでない場合は false である。 |
| 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
| | ;<nowiki>unalias [-a] [name ...]</nowiki> |
| • in posix mode, time may be followed by options and still be recognized as a re‐
| | :定義されているエイリアスのリストからそれぞれの名前を削除する。 -aを指定すると、すべてのエイリアス定義が削除される。 与えられた名前が定義されたエイリアスでない限り、戻り値は真である。 |
| served word (this is POSIX interpretation 267)
| |
| • in posix mode, the parser requires that an even number of single quotes occur in
| |
| the word portion of a double-quoted parameter expansion and treats them specially,
| |
| so that characters within the single quotes are considered quoted (this is POSIX
| |
| interpretation 221)
| |
|
| |
|
| compat42
| | ;<nowiki>unset [-fv] [-n] [name ...]</nowiki> |
| • the replacement string in double-quoted pattern substitution does not undergo quote
| | :それぞれの名前に対して、対応する変数または関数を削除する。 -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'''のどれかがアンセットされると、たとえその後にリセットされたとしても、特別なプロパティは失われる。 名前が読み取り専用でない限り、終了ステータスは真である。 |
| removal, as it does in versions after bash-4.2
| |
| • in posix mode, single quotes are considered special when expanding the word portion
| |
| of a double-quoted parameter expansion and can be used to quote a closing brace or
| |
| other special character (this is part of POSIX interpretation 221); in later ver‐
| |
| sions, single quotes are not special within double-quoted word expansions
| |
|
| |
|
| compat43
| | ;<nowiki>wait [-fn] [-p varname] [id ...]</nowiki> |
| • the shell does not print a warning message if an attempt is made to use a quoted
| | :指定された各子プロセスを待ち、その終了ステータスを返す。 各idは、プロセスIDまたはジョブ指定である。ジョブ指定が与えられた場合、 そのジョブのパイプラインにある全てのプロセスが待たれる。 idが与えられない場合、waitは実行中のすべてのバックグラウンド・ジョブと、 最後に実行されたプロセス置換(そのプロセスidが$! -nオプションが与えられた場合、waitはidのリストから1つのジョブ、またはidが与えられない場合は任意のジョブの完了を待ち、その終了ステータスを返す。与えられた引数のどれもがシェルの子でない場合、または引数が与えられず、シェルに待機していない子がない場合、終了ステータスは127である。 -p オプションが与えられると、終了ステータスが返されたジョブのプロセスまたはジョブ識別子が、 オプション引数で指定された変数 varname に代入される。 この変数は、代入の前に初期状態では設定されていない。 これは、-n オプションが指定されている場合にのみ有効である。 ジョブ制御が有効になっているときに -f オプションを指定すると、id がステータスを変更したときに返すのではなく、id が終了するのを待ってからステータスを返すようになる。 idが存在しないプロセスまたはジョブを指定した場合、返されるステータスは127である。 それ以外の場合は、最後に待機したプロセスまたはジョブの終了ステータスが返される。 |
| compound assignment as an argument to declare (declare -a foo='(1 2)'). Later ver‐
| |
| sions warn that this usage is deprecated
| |
| • 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
| | == SHELL COMPATIBILITY MODE == |
| • the shell sets up the values used by BASH_ARGV and BASH_ARGC so they can expand to
| | Bash-4.0では「シェル互換性レベル」という概念が導入され、shopt組み込みのcompat31、compat32、compat40、compat41などに対するオプションのセットとして指定される。) 現在の互換性レベルは1つだけで、各オプションは相互に排他的である。 互換性レベルは、ユーザーが新しいバージョンと互換性のない旧バージョンの動作を選択できるようにするためのもので、スクリプトを移行して現在の機能と動作を使用できるようにするためのものである。これは一時的な解決策である。 |
| the shell's positional parameters even if extended debugging mode is not enabled
| |
| • a subshell inherits loops from its parent context, so break or continue will cause
| |
| the subshell to exit. Bash-5.0 and later reset the loop state to prevent the exit
| |
| • 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
| | このセクションでは、特定のバージョンで標準となっている動作については言及しない(例えば、compat32を設定することは、正規表現マッチング演算子のrhsを引用することで、単語内の特殊な正規表現文字を引用することを意味し、これはbash-3.2以上のデフォルトの動作である)。 |
| • Bash-5.1 changed the way $RANDOM is generated to introduce slightly more random‐
| |
| ness. If the shell compatibility level is set to 50 or lower, it reverts to the
| |
| method from bash-5.0 and previous versions, so seeding the random number generator
| |
| by assigning a value to RANDOM will produce the same sequence as in bash-5.0
| |
| • 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
| | ユーザーが例えばcompat32を有効にすると、現在の互換性レベルまでの他の互換性レベルの動作に影響を与える可能性がある。 各互換性レベルは、そのバージョンのbashで変更された動作を制御するが、その動作は以前のバージョンにもあったかもしれないという考え方である。 例えば、[[ コマンドでロケール・ベースの比較を使用するようになったのはbash-4.1からで、それ以前のバージョンではASCIIベースの比較を使っていたため、compat32を有効にするとASCIIベースの比較も有効になる。 そのため、compat32を有効にすると、ASCIIベースの比較も有効になる。この細かさは、すべての用途に十分とは限らないので、ユーザーは互換性レベルを慎重に使用すべきである。 現在の動作を知るには、特定の機能のドキュメントを読むこと。 |
| If bash is started with the name rbash, or the -r option is supplied at invocation, the shell be‐
| |
| 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
| | Bash-4.3は新しいシェル変数を導入した: BASH_COMPATである。 この変数に代入される値(4.2のような10進数のバージョン番号、または42のようなcompatNNオプションに対応する整数)が互換性レベルを決定する。 |
|
| |
|
| • setting or unsetting the values of SHELL, PATH, HISTFILE, ENV, or BASH_ENV
| | bash-4.4から、Bashは古い互換性レベルを廃止し始めた。 最終的にはこのオプションは削除され、BASH_COMPATが使われるようになる。 |
|
| |
|
| • specifying command names containing /
| | Bash-5.0は、以前のバージョンに対する個別のshoptオプションが存在する最後のバージョンである。ユーザーはbash-5.0以降のバージョンでBASH_COMPATを使うべきである。 |
|
| |
|
| • specifying a filename containing a / as an argument to the . builtin command
| | 以下の表は、各互換性レベルの設定によって制御される動作の変更について説明したものである。 compatNNタグは、以下のメカニズムのいずれかを使用して互換性レベルをNNに設定するための省略記法として使用される。 bash-5.0より前のバージョンでは、対応するcompatNN shoptオプションを使用して互換性レベルを設定することができる。 bash-4.3およびそれ以降のバージョンでは、BASH_COMPAT変数を使用するのが望ましく、bash-5.1およびそれ以降のバージョンでは必須である。 |
|
| |
|
| • specifying a filename containing a slash as an argument to the history builtin command
| | ;compat31 |
| | * コマンドの正規表現マッチング演算子(=~)のrhsを引用しても特別な効果はない。 |
|
| |
|
| • specifying a filename containing a slash as an argument to the -p option to the hash
| | ;compat32 |
| builtin command
| | * "a ; b ; c "のようなコマンドリストに割り込むと、リスト内の次のコマンドが実行される(bash-4.0以降のバージョンでは、シェルは割り込みを受け取ったかのように動作するため、リスト内の1つのコマンドに割り込むと、リスト全体の実行が中断される)。 |
|
| |
|
| • importing function definitions from the shell environment at startup
| | ;compat40 |
| | * コマンドの < と > 演算子は、文字列を比較するときに現在のロケールを考慮しない。 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)を使用する。 |
|
| |
|
| • parsing the value of SHELLOPTS from the shell environment at startup
| | ;compat41 |
| | * posixモードでは、timeの後にオプションを付けても予約語として認識される(これはPOSIX解釈267)。 |
| | * posix モードでは、パーサーは二重引用符で囲まれたパラメータ展開の単語部分に偶数の一重引用符があることを要求し、一重引用符内の文字が引用符で囲まれたとみなされるように、それらを特別に扱う(これは POSIX 解釈 221 である)。 |
|
| |
|
| • redirecting output using the >, >|, <>, >&, &>, and >> redirection operators
| | ;compat42 |
| | * 二重引用符で囲まれたパターン置換の置換文字列は、bash-4.2以降のバージョンでは引用符の削除を行わない。 |
| | * posixモードでは、二重引用符で囲まれたパラメータ展開の単語部分を展開するとき、一重引用符は特別なものとみなされ、閉じ波括弧や他の特別な文字を引用するために使用できる(これはPOSIX解釈221の一部である)。 |
|
| |
|
| • using the exec builtin command to replace the shell with another command
| | ;compat43 |
| | * シェルは、引用符で囲まれた複合代入をdeclareの引数として使おうとしても警告メッセージを表示しない(declare -a foo='(1 2)')。後のバージョンでは、この使い方が非推奨であることを警告する |
| | * 単語展開エラーは、posixモードであっても、現在のコマンドを失敗させる非致命的エラーとみなされる(デフォルトの動作は、シェルを終了させる致命的エラーとなる)。 |
| | * シェル関数を実行するとき、ループ状態(while/until/etc)はリセットされないため、その関数内でbreakやcontinueを行うと、呼び出し元のコンテキストでループが解除されたり継続されたりする。Bash-4.4以降では、ループ状態をリセットしてこれを防いでいる。 |
|
| |
|
| • adding or deleting builtin commands with the -f and -d options to the enable builtin com‐
| | ;compat44 |
| mand
| | * シェルがBASH_ARGVとBASH_ARGCで使用する値を設定し、拡張デバッグモードが有効になっていなくても、シェルの位置パラメーターに展開できるようにする。 |
| | * サブシェルは親コンテキストからループを継承するため、breakやcontinueはサブシェルを終了させる。 Bash-5.0以降では、ループ状態をリセットして終了を防止する。 |
| | *シェルがposixモードでなくても、exportやreadonlyのような属性を設定する組み込み関数に先行する変数代入は、呼び出し環境の同じ名前の変数に影響を与え続ける。 |
|
| |
|
| • using the enable builtin command to enable disabled shell builtins
| | ;compat50 |
| | * Bash-5.1では、$RANDOMの生成方法が変更され、若干ランダム性が増した。 シェルの互換性レベルが50以下に設定されている場合、bash-5.0とそれ以前のバージョンの方法に戻るので、RANDOMに値を代入して乱数ジェネレーターをシードすると、bash-5.0と同じシーケンスが生成される。 |
| | * コマンド・ハッシュ・テーブルが空の場合、bash-5.1より前のバージョンのbashでは、入力として再利用できる出力を生成する場合でも、その旨の情報メッセージが表示された。Bash-5.1では、-lオプションが指定されると、このメッセージが表示されなくなる。 |
|
| |
|
| • specifying the -p option to the command builtin command
| | == RESTRICTED SHELL == |
| | bashをrbashという名前で起動するか、起動時に-rオプションを指定すると、シェルは制限付きになる。 制限付きシェルは、標準シェルよりも制御された環境を設定するために使用される。 動作はbashと同じだが、例外として以下のことが禁止または実行されない: |
|
| |
|
| • 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 == |
| Bash Reference Manual, Brian Fox and Chet Ramey
| | * Bash Reference Manual, Brian Fox and Chet Ramey |
| The Gnu Readline Library, Brian Fox and Chet Ramey
| | * The Gnu Readline Library, Brian Fox and Chet Ramey |
| The Gnu History Library, Brian Fox and Chet Ramey
| | * The Gnu History Library, Brian Fox and Chet Ramey |
| Portable Operating System Interface (POSIX) Part 2: Shell and Utilities, IEEE --
| | * Portable Operating System Interface (POSIX) Part 2: Shell and Utilities, IEEE -- |
| http://pubs.opengroup.org/onlinepubs/9699919799/
| | :http://pubs.opengroup.org/onlinepubs/9699919799/ |
| http://tiswww.case.edu/~chet/bash/POSIX -- a description of posix mode
| | :http://tiswww.case.edu/~chet/bash/POSIX -- a description of posix mode |
| sh(1), ksh(1), csh(1)
| | * '''[[/usr/bin/sh|sh]]'''(1), '''[[/usr/bin/ksh|ksh]]'''(1), '''[[/usr/bin/csh|csh]]'''(1) |
| emacs(1), vi(1)
| | * '''[[/usr/bin/emacs|emacs]]'''(1), '''[[/usr/bin/vi|vi]]'''(1) |
| readline(3)
| | *'''[https://manpages.debian.org/bookworm/readline-common/readline.3readline.en.html readline]'''(3) |
|
| |
|
| FILES | | == FILES == |
| /bin/bash
| | ;/bin/bash |
| The bash executable
| | :bash実行ファイル |
| /etc/profile
| | ;[[/etc/profile]] |
| The systemwide initialization file, executed for login shells
| | :ログインシェルで実行されるシステム全体の初期化ファイル。 |
| /etc/bash.bashrc
| | ;[[/etc/bash.bashrc]] |
| The systemwide per-interactive-shell startup file
| | :システム全体の対話型シェルごとの起動ファイル |
| /etc/bash.bash.logout
| | ;[[/etc/bash.bash.logout]] |
| The systemwide login shell cleanup file, executed when a login shell exits
| | :ログインシェルが終了するときに実行される、システム全体のログインシェルのクリーンアップファイル |
| ~/.bash_profile
| | ;~/.bash_profile |
| The personal initialization file, executed for login shells
| | :ログインシェルで実行される個人用初期化ファイル。 |
| ~/.bashrc
| | ;~/.bashrc |
| The individual per-interactive-shell startup file
| | :対話型シェルごとの起動ファイル |
| ~/.bash_logout
| | ;~/.bash_logout |
| The individual login shell cleanup file, executed when a login shell exits
| | :ログインシェルが終了するときに実行される、個々のログインシェルのクリーンアップファイル |
| ~/.inputrc
| | ;~/.inputrc |
| Individual readline initialization file
| | :個々のreadline初期化ファイル |
|
| |
|
| AUTHORS | | == AUTHORS == |
| Brian Fox, Free Software Foundation
| | Brian Fox, Free Software Foundation |
| bfox@gnu.org
| | :bfox@gnu.org |
|
| |
|
| Chet Ramey, Case Western Reserve University
| | Chet Ramey, Case Western Reserve University |
| chet.ramey@case.edu
| | :chet.ramey@case.edu |
|
| |
|
| BUG REPORTS | | == BUG REPORTS == |
| If you find a bug in bash, you should report it. But first, you should make sure that it really
| | bashでバグを見つけたら、報告すべきだ。 しかしその前に、それが本当にバグなのか、最新版のbashにバグがあるのかを確認する必要がある。 最新バージョンはいつでもftp://ftp.gnu.org/pub/gnu/bash/にある。 |
| is a bug, and that it appears in the latest version of bash. The latest version is always avail‐
| |
| able from ftp://ftp.gnu.org/pub/gnu/bash/.
| |
|
| |
|
| Once you have determined that a bug actually exists, use the bashbug command to submit a bug re‐
| | バグが実際に存在すると判断したら、bashbugコマンドを使ってバグレポートを提出しよう。 もし修正方法があれば、それもメールすることが推奨される! 提案や`哲学的な'バグ報告は bug-bash@gnu.org に送信するか、Usenet ニュースグループ gnu.bash.bug に投稿してほしい。 |
| port. If you have a fix, you are encouraged to mail that as well! Suggestions and `philosophi‐
| |
| cal' bug reports may be mailed to bug-bash@gnu.org or posted to the Usenet newsgroup
| |
| gnu.bash.bug.
| |
|
| |
|
| ALL bug reports should include:
| | すべてのバグリポートは以下を含めるべきである: |
|
| |
|
| The version number of bash
| | :The version number of bash |
| The hardware and operating system
| | :The hardware and operating system |
| The compiler used to compile
| | :The compiler used to compile |
| A description of the bug behaviour
| | :A description of the bug behaviour |
| A short script or `recipe' which exercises the bug
| | :A short script or `recipe' which exercises the bug |
|
| |
|
| bashbug inserts the first three items automatically into the template it provides for filing a
| | bashbugは最初の3つの項目をバグ報告用のテンプレートに自動的に挿入する。 |
| bug report.
| |
|
| |
|
| Comments and bug reports concerning this manual page should be directed to chet.ramey@case.edu.
| | このマニュアルページに関するコメントやバグ報告は、chet.ramey@case.eduへ |
|
| |
|
| BUGS | | == BUGS == |
| It's too big and too slow.
| | 大きすぎるし、遅すぎる。 |
|
| |
|
| There are some subtle differences between bash and traditional versions of sh, mostly because of
| | bashと従来のバージョンのshには微妙な違いがあるが、そのほとんどはPOSIX仕様のためだ。 |
| the POSIX specification.
| |
|
| |
|
| Aliases are confusing in some uses.
| | エイリアスは、使い方によっては混乱を招く。 |
|
| |
|
| Shell builtin commands and functions are not stoppable/restartable.
| | シェル組み込みのコマンドや関数は、停止/再起動ができない。 |
|
| |
|
| Compound commands and command sequences of the form `a ; b ; c' are not handled gracefully when
| | 複合コマンドや`a ; b ; c'形式のコマンドシーケンスは、プロセス停止時に 優雅に扱われない。 プロセスが停止されると、シェルは直ちに次のコマンドを実行する。 一連のコマンドを括弧で囲んでサブシェルに強制的に入れれば十分であり、サブシェルはユニットとして停止することができる。 |
| process suspension is attempted. When a process is stopped, the shell immediately executes the
| |
| next command in the sequence. It suffices to place the sequence of commands between parentheses
| |
| to force it into a subshell, which may be stopped as a unit.
| |
|
| |
|
| Array variables may not (yet) be exported.
| | 配列変数は(まだ)エクスポートできない。 |
|
| |
|
| There may be only one active coprocess at a time.
| | 一度にアクティブなコプロセスは1つだけである。 |
|
| |
|
| == External link == | | == External link == |