logo

Linux の source コマンドと例

Linux の世界に慣れていない方は、さまざまなタスクを実行するコマンドについて聞いたことがあるかもしれませんが、「source」コマンドなどは最初は少し混乱するように思えるかもしれません。心配しないで;段階的に見てみましょう。

ソースコマンドとは何ですか?

Linux のソース コマンドは、ファイルからコマンドを取り込んでターミナルで直接使用できる魔法の杖のようなものです。レシピ本を持っていて、コピーせずにすぐにレシピを使用できるようなものです。

「source」コマンドはシェルの組み込み機能であり、ファイル内に保存されているコマンドを現在のシェル環境で直接実行するように設計されています。 「source」コマンドを使用すると、指定されたファイルの内容 (通常は一連のコマンド) が読み取られ、端末に直接入力されたかのように実行されます。このプロセスは、新しいプロセスやインタープリタを生成せずに、現在のシェル セッションのコンテキスト内で発生します。 「source」コマンドで引数が指定された場合、それらはソース ファイル内のコマンドに位置パラメータとして渡されます。ただし、現在のシェル セッションの位置パラメータは、ソース ファイル内のコマンドによって明示的に変更されない限り、変更されません。 「source」コマンドは、次のリストにあるディレクトリ内で指定されたファイルを検索します。 $パス 環境変数 。これらのディレクトリのいずれにもファイルが見つからない場合は、現在のディレクトリが検索されます。 「source」コマンドにはオプションが提供されないことに注意することが重要です。唯一の引数は、ソースされるファイルの名前です。



Linuxのソースコマンドの構文

ソース コマンドの構文は簡単です。

source FILENAME>

またはそれと同等のもの:

. filename>

ここで、「ファイル名」は、ソースされるコマンドを含むファイルを指します。

Linuxでのソースコマンドの例

Linux の source コマンドと例

シェルスクリプトの実行:

source コマンドの主な使用例の 1 つは、現在のシェル環境内でシェル スクリプトを実行することです。これにより、スクリプトで変数、関数、その他のシェル機能を直接操作できるようになります。

変数を設定し、その値をエコーする「myscript.sh」という名前のシェル スクリプトがあると想像してください。

#myscript.sh
#!/bin/bash
# 変数を設定する

MY_VARIABLE=こんにちは、myscript.sh から

# 変数をエコーする

ハッキング処理

$MY_VARIABLE をエコーする

次に、source コマンドを使用して、現在のシェル内でこのスクリプトを実行しましょう。

source myscript.sh>
シェルスクリプトの実行

シェルスクリプトの実行

説明:

  • ソース コマンドは、現在のシェル環境で「myscript.sh」内のコマンドを直接実行します。
  • 変数「MY_VARIABLE」は「myscript.sh」内で設定され、エコーされ、現在のシェル セッション内で出力が生成されます。

環境変数の変更:

source コマンドは、現在の環境変数を変更するために重要です。 シェル セッション。これは、親シェル環境に影響を与える変数をスクリプトでエクスポートする必要がある場合に特に便利です。

# 環境セットアップ.sh
#!/bin/bash
# 変数をエクスポートする

import MY_ENV_VARIABLE=これは私の環境変数です

次に、source コマンドを使用して、現在のシェル内の環境変数を変更しましょう。

環境変数の変更

環境変数の変更

source environment_setup.sh>

変更を確認するには、環境変数をエコーし​​ます。

echo $MY_ENV_VARIABLE>

説明:

  • ソース コマンドはスクリプト「environment_setup.sh」を実行し、変数「MY_ENV_VARIABLE」をエクスポートします。
  • スクリプトを取得すると、環境変数「MY_ENV_VARIABLE」が現在のシェル セッションで使用可能になります。これは、その値がエコーされることからわかります。

設定ファイルのロード:

Linux の多くのアプリケーションは構成ファイルに依存しています。 source コマンドを使用すると、これらの設定ファイルを現在のシェルに直接ロードできるため、変更がすぐに有効になります。

新しいエイリアスの追加など、「.bashrc」構成ファイルに変更を加えたシナリオを考えてみましょう。

# .bashrc にエイリアスを追加

エイリアス myalias=’ls -la’

次に、source コマンドを使用して、更新された構成ファイルを現在のシェルにロードしましょう。

source ~/.bashrc>

これで、新しく追加されたエイリアス「myalias」を使用できるようになります。

ジャワマップ
myalias>
設定ファイルをロードしています

設定ファイルをロードしています

説明:

  • ソース コマンドは、更新された「.bashrc」ファイルを現在のシェル セッションにロードし、エイリアスやその他の設定に加えられた変更を組み込みます。
  • 「.bashrc」を取得すると、新しく追加されたエイリアス「myalias」がすぐに使用できるようになります。これを実行して現在のディレクトリの内容を一覧表示するとわかります。

シェル関数の定義:

スクリプト内で定義されたシェル関数は、それらの関数を含むスクリプトを取得することによって、現在のシェル セッションで使用できるようになります。

シェル関数を定義する「my_functions.sh」という名前のスクリプトがあるとします。

# my_functions.sh
#!/bin/bash
# シェル関数を定義する

my_function() {
echo これは私のカスタム関数です
}

次に、source コマンドを使用して、この関数を現在のシェルで使用できるようにしましょう。

source my_functions.sh>

これで、シェル内で関数を直接呼び出すことができます。

my_function>
シェル関数の定義

シェル関数の定義

説明:

  • ソース コマンドは、「my_function」という名前のシェル関数を定義するスクリプト「my_functions.sh」を実行します。
  • スクリプトを取得した後、関数「my_function」を呼び出してメッセージをエコーすることでわかるように、現在のシェル セッション内で関数「my_function」をすぐに使用できるようになります。

結論

結論として、Linux の「source」コマンドは、外部ファイルのコマンド、設定、機能を現在のシェル環境に直接シームレスに統合するための強力なツールとして機能します。 「source」コマンドは、ターミナル セッションと命令を含むファイルの間のパイプ役として機能し、ターミナルに直接入力されたかのように、指定されたファイル内のコマンドを実行します。これにより、環境変数の動的な変更、シェル スクリプトの実行、構成ファイルのロード、および現在のシェル セッション内でのカスタム シェル関数の利用が可能になります。 「source」コマンドの機能を利用することで、Linux ユーザーはシステム管理および開発タスクの生産性と効率を向上させ、新しいレベルのコマンドラインの能力と柔軟性を導くことができます。