使用しているシェルに合わせてman sh
またはman bash
またはmanページを使用してみてください。(たぶんman $SHELL
。)
これは正式には「ポイント」コマンドではなく、source
コマンドと呼ばれます。単語を検索source
すると役立つ場合があります。
たとえば、bashのマニュアルページ(「各組み込みコマンド」を検索)を使用すると、ドキュメントがすぐに見つかります。
使用方法の説明については、ここでできます。私はこれをsource
コマンドと呼んでいますが、シェルを使用している期間に短縮できることを認識しており、一部のシェルではコマンドが必要になる場合があります(ドットが認識されるsource
かもしれないが、単語全体が)。
source
コマンドを使用すると、シェルはスクリプトファイルから各行を読み取り、実行しようとします。ファイルの「読み取り」権限が必要です。(「実行」権限があるかどうかは関係ありません。)変数を変更すると、現在のシェルに影響を与える傾向があります。
一方、ファイルを実行しようとすると、シェルはオペレーティングシステムにこの要求を処理するように要求します。これには「実行」権限が必要です。(OpenBSDのような一部のシステムでは、このための「読み取り」許可は必要ありません。多くのUnixバリエーションを含む他のシステムでは、必要になります。)ファイルは適切なヘッダー(例えば)で始まる必要があります。 )、スクリプトに対して呼び出されたサブシェルのみに影響し、スクリプトファイルを呼び出した親シェルの環境を変更することはできません。#!/bin/sh
)オペレーティングので、システムはこれをスクリプトファイルとして認識します。オペレーティングシステムは、要求されたシェルのコピーを実行し、そのシェルにスクリプトの内容を実行するように指示します。シェル環境が変更された場合(たとえば、変数が新しい値を取得した場合、作業ディレクトリが変更された(で cd
)、ファイル記述子がリダイレクトされた(で exec