# ドット組込みコマンド

ドット組込みコマンドはテキストファイルを開いて、その内容をコマンドとして解釈し実行します。

## 構文

- `. [-AL] ファイル名 [引数…]`

## 説明

ドットコマンドは与えられたファイル名のファイルを開き、その内容をコマンドとして解釈し現在のコマンド実行環境で実行します。

ファイル名に続けて引数が与えられているときは、関数の実行の時と同様に、コマンドの実行前に引数が位置パラメータに設定され、実行後に元の位置パラメータに戻ります。

ファイル名にスラッシュ (`/`) が一つも入っていない場合は、コマンドの検索のときと同様に `PATH` 変数の検索を行い、開くべきファイルを探します。ただしファイルは読み込み可能でさえあれば実行可能である必要はありません。検索の結果ファイルが見つかれば、そのファイルの内容を解釈・実行します。ファイルが見つからなかった場合、POSIX 準拠モードでは直ちにエラーになります。POSIX 準拠モードでないときは現在の作業ディレクトリのファイルを開くことを試みます。

## オプション

`-A`
`--no-alias`

  ファイルを読み込んで実行する際、エイリアス展開を行いません。

`-L`
`--autoload`

  ファイル名がスラッシュを含んでいるかどうかにかかわらず、`PATH` 変数の代わりに `YASH_LOADPATH` 変数を検索して開くべきファイルを探します。ファイル名は現在の作業ディレクトリからの相対パス名とはみなしません。

ドットコマンドでは、最初のオペランドより後にあるコマンドライン引数は全てオペランドとして解釈します。

## オペランド

ファイル名

  読み込むファイルのパス名です。

引数…

  ファイルの内容を実行している間に位置パラメータに設定する文字列です。

## 終了ステータス

ドットコマンドの終了ステータスは、ファイルから読み込んで実行した最後のコマンドの終了ステータスです。ファイルの内容に一つもコマンドが入っていなかったときは終了ステータスは 0 です。ファイルが見つからなかったり開けなかったりしたときは終了ステータスは非 0 です。

## 補足

ドットコマンドは特殊組込みコマンドです。

シェルが POSIX 準拠モードで、かつ対話モードでないとき、読み込むべきファイルが見つからなかったり開けなかったりするとシェルは直ちに終了します。

POSIX にはオプションに関する規定はありません。よってオプションは POSIX 準拠モードでは使えません。

POSIX には引数オペランドによって位置パラメータを変更できることについての規定はありません。よって POSIX 準拠モードでは引数オペランドを与えるとエラーになります。