GNU/Linux >> Linux の 問題 >  >> Linux

Linuxのソースコマンドとは何ですか?どのように機能しますか?

sourceコマンドは、現在のシェルのファイルからコマンドを実行します。また、環境変数を更新するためにも使用できます。正直なところ、sourceコマンドの主な用途は、環境変数を更新することです。

source filename [options]

を使用することもできます。 (ドット)次のようなソースコマンドの代わりに:

. filename [options]
ソースコマンドはどのように機能しますか?

このコマンドの構文は単純ですが、それを理解するには、いくつかのLinuxの概念をもう少し詳しく調べる必要があります。 Linuxやプログラミングを初めて使用する場合は、変数が何であるかについて漠然とした考えしか持っていない可能性があります。

この用語を聞いたが、それが何を意味するのか正確にわからない場合は、それで構いません。私たち全員がまったく同じ場所から始めることを忘れないでください。朝、システム管理者やプログラマーとして突然目を覚ます人は誰もいません。

先に進む前に簡単に説明します。

bashで変数を作成する方法に既に精通している場合は、次のヘッダーにスキップできます。

変数の概要

任意のbashターミナルを開いて、新しい変数を作成できます。変数は、システムが情報(文字、数字、記号)を指すために使用できるプレースホルダーと考えることができます。

例を見てみましょう。 nameという名前の新しい変数を作成し、値Christopherを割り当てます。

bashでは、これは次の式を使用して行われます: variable_name =your_variable =の間にスペースを追加しないでください 記号とテキスト。

[email protected]:~$ name=Christopher
[email protected]:~$ echo $name
Christopher

変数名を入力しただけではどうなりますか?

[email protected]:~$ echo name
name

この記号を忘れた場合、bashは入力したテキストを返します。ここでは、「名前」をエコーまたは印刷するように指示します。 $記号がないと、bashは作成した変数を使用することを認識しません。

変数は、呼び出された場所に挿入されます。だから私はそれを次のような文に含めることもできます:

[email protected]:~$ echo "Hello, $name. $name is a great name. It's good to meet you."
Hello, Christopher. Christopher is a great name. It's good to meet you.

変数を使ってできることはたくさんありますが、これを読んでいる人なら誰でも変数がどのように機能するかを理解できるように、入門書で十分であることを願っています。

環境変数とシェル変数

ソースコマンドを理解するための次の鍵として、永続性について説明しましょう。これは、シェルと環境コンテンツの違いを考える簡単な方法です。コンテキストによっては、「移植性」の観点から考えることもできます。

簡単に言えば、ターミナルシェルで変数を作成すると、そのシェルを終了するとその変数は失われます。

対照的に、環境変数はオペレーティングシステムに永続性があります。これらの変数は通常、すべて大文字を使用して区別します。

この例は、OSによって$USERとして認識されているユーザー名です。

[email protected]:~$ echo $USER
christopher

さて、あなたは環境変数とシェル変数の違いを調べるのにかなりの時間を費やしました。それはソースと何の関係がありますか ?すべて、本当に。

それ以外の場合は、ソースの実行に違いはありません。 およびbash 。この点を説明するために、もう1つデモを並べます。

ソースとBash

Linuxをしばらく使用している場合は、これらのコマンドに遭遇し、同じことをしたと思ったことがあるかもしれません。結局のところ、両方のコマンドを使用してスクリプトを実行できます。

新しいシェルを作成するbashを実行するのとは異なり、ソースは現在のシェルで機能します。新しいウィンドウが表示されないため、これは明らかではありません。

フォローしている場合は、次のような非常に単純なスクリプト(echo.shと呼びます)を作成する必要があります。

#! bin/bash

echo $USER
echo $name

ターミナルで他のことをする前に、変数名に自分の名前を割り当ててください。

[email protected]:~$ name=chris

次に、変数を割り当てたのと同じ端末で3つのコマンドすべてを試してみるとどうなるかを説明します。

[email protected]:~$ bash echo.sh 
christopher

[email protected]:~$ source echo.sh 
christopher
chris
[email protected]:~$ . echo.sh 
christopher
chris

ご覧のとおり、 bash を使用してスクリプトを実行したときに、ローカル変数が認識されませんでした。 。

ソースコマンドで環境変数を更新する

ソースを使用して、現在のシェルの環境変数を更新することもできます。このタスクの一般的なアプリケーションは、現在のシェルでbashプロファイルを更新することです。

ユーザーは、bashプロファイルを変更して、たとえばエイリアスを作成したい場合があります。通常、構成を保存したら、変更を行うために新しいターミナルウィンドウを開く必要があります。

[email protected]:~$ source .bashrc 

これを実行すると、新しいターミナルを開かなくても、現在のシェルの設定が更新されます。

結論

ソースコマンドでこのチュートリアルを楽しんでいただけたでしょうか。いつものように、コメント欄であなたの考えを教えてください。この投稿を楽しんだら、下のボタンを使用してソーシャルメディアで共有してください。


Linux
  1. LinuxでのChownコマンドとは何ですか?その使用方法

  2. NGINXとは何ですか?それはどのように機能しますか?

  3. Linux にソースから TBB をインストールして動作させる方法

  1. Webサーバーとは何ですか?Webサーバーはどのように機能しますか?

  2. Linuxコマンドが何をするかを知る方法

  3. rm はどのように機能しますか? rm は何をしますか?

  1. Makefileとは何ですか?どのように機能しますか?

  2. DNSとは何ですか?どのように機能しますか?

  3. 「ls」コマンドは Linux/Unix でどのように機能しますか?