シェルのsourceコマンド

シェルのsourceコマンド

source コマンドは、シェルスクリプトやシェル設定ファイルを現在のシェル環境で実行するためのコマンドです。
これは、シェルのサブプロセスを作成せずに、スクリプト内のコマンドを実行します。
通常、シェルスクリプトや設定ファイルを実行する際に使用します。

使用方法

基本的な構文は以下の通りです。

source ファイル名

または、ドット(.)を使うことで、同じ機能を実行できます。

. ファイル名

主な用途

1. 環境変数の設定
source コマンドは、環境変数を設定する際に便利です。
例えば、.bashrc や .bash_profile ファイルで環境変数を定義し、シェルを再起動することなく設定を反映させる場合に使います。

source ~/.bashrc

2. エイリアスや関数の定義
シェルスクリプトにエイリアスや関数を定義し、それをsource コマンドで読み込むことで、シェル環境にこれらを即座に反映させることができます。

source ~/my_aliases.sh

3. スクリプトの実行
複数のスクリプトを連携させて実行する場合にも利用されます。
スクリプトの中で共通の設定や変数を定義し、それを他のスクリプトから source コマンドで読み込むことができます。

source ~/common_settings.sh

注意点

  • source コマンドは、ファイルがシェルスクリプトであることを期待します。

ファイルが存在しない場合や、実行権限がない場合にはエラーが発生します。

  • スクリプト内で定義された変数や関数は、source コマンドを実行したシェルのセッションに影響を与えます。

これにより、シェル環境を変更したり、設定をカスタマイズしたりすることができます。

例えば、次のようなシェルスクリプト my_script.sh があるとします。

#!/bin/bash
echo "Hello, World!"

このスクリプトを source コマンドで実行すると、そのスクリプトの内容が現在のシェルセッションで実行され、Hello, World! が表示されます。

source my_script.sh

または

. my_script.sh

どちらの方法でも、同じ結果が得られます。
source コマンドを使用することで、シェルスクリプトのコードを現在のシェル環境に直接影響させることができます。