知っておくべき 6 つの便利な Bash シェル変数
シェル変数は、Linux システムをスムーズに実行するために重要です。たとえば、プログラムまたはコマンドを実行するたびに、システムは PATH 変数を調べて、プログラムが存在するかどうかを確認します。シェル変数の知識は、Linux システムの日常的な使用または管理にとって重要です。
シェル変数の重要性
シェル変数は、Linux システム、プログラム、またはスクリプトで使用される情報を格納するためのプレースホルダーです。
Linux にはさまざまな種類のシェルまたはコマンドライン インタープリターがあり、そのすべてが変数を広範囲に使用します。シェル変数が果たす重要な役割には、次のようなものがあります。
- シェル変数を使用すると、シェルに値を格納して操作したり、計算やその他の操作で結果を操作したりできます。
- スクリプトとプログラムの間で値を渡す方法を提供します
- シェル変数を使用して、プログラムの動作をカスタマイズできます
シェル変数は非常に柔軟です。独自のカスタム変数を作成することもできますが、システムに付属しているデフォルトの変数の一部を次に示します。
1.パス
PATH 変数は、ターミナルでコマンドを入力したときに、システムが実行可能ファイルを検索するディレクトリを指定します。
これはシステム全体の環境変数であり、コロンで区切られたディレクトリのリストで構成されています。入力したコマンドと同じ名前の実行可能ファイルを探すために、各ディレクトリが順番に検索されます。
たとえば、端末で ls コマンドを入力すると、システムはlsという名前のコマンドの PATH 変数で指定されたディレクトリを検索します。ファイルが見つかった場合は、それを実行します。そうでない場合は、「コマンドが見つかりません」というエラー メッセージが表示されます。
PATH 変数は、実行可能ファイルへのフル パスを指定しなくても任意のディレクトリからコマンドを実行できるため、重要です。たとえば、「ls」実行可能ファイルが/usr/binディレクトリにある場合、フル パス (つまり/usr/bin/ls ) を指定するのではなく、lsと入力するだけで、任意のディレクトリから ls コマンドを実行できます。
次のように echo コマンドを実行すると、PATH 変数の現在の値を表示できます。
echo $PATH
リストにディレクトリを追加または削除して、PATH 変数の値を変更することもできます。これは、独自の実行可能ファイルまたはカスタム スクリプトを含むディレクトリを追加する場合、またはコマンドの実行時に検索されるディレクトリを変更する場合に役立ちます。
2. ホーム
Linux では、HOME 変数は、ユーザーのホーム ディレクトリへのパスを指定する環境変数です。なぜこれが重要なのですか?Linux はマルチユーザー OS であり、ホーム フォルダーは各ユーザーに関連付けられたシステム上の特別なディレクトリです。
ホーム ディレクトリは通常、ドキュメント、写真、音楽などのユーザーの個人ファイルを保存するために使用されます。
HOME 変数は通常、ログイン時に自動的に設定され、ユーザーのホーム ディレクトリを見つけるために多くのプログラムやスクリプトで使用されます。たとえば、引数を指定せずに cd コマンドを実行すると、HOME 変数を使用してユーザーのホーム ディレクトリに移動します。
多くのプログラムは、HOME 変数を使用して、構成ファイルやその他のデータをユーザーのホーム ディレクトリに格納します。echo $HOMEコマンドを実行すると、HOME 変数の現在の値を表示できます。
3. ユーザー
USER 変数は、現在ログインしているユーザーのユーザー名を指定します。ログイン時に自動的に設定され、現在のユーザーのユーザー名を決定するためにプログラムやスクリプトで一般的に使用されます。
USER 変数は、現在のユーザーに基づいてプログラムの動作をカスタマイズするために、スクリプトでよく使用されます。たとえば、スクリプトは USER 変数の値をチェックし、現在のユーザーが root または sudo 権限を持っている場合にのみ特定のアクションを実行する場合があります。
特定の汎用コマンドを実行するために変数を使用することもできます。たとえば、ユーザーを docker グループに追加する場合、実際のユーザー名を入力する代わりに、次のコマンドを実行するだけです。
sudo usermod -aG docker $USER
4.シェル
シェルは、オペレーティング システムと対話するためのコマンド ライン インターフェイス (CLI) を提供するプログラムです。
ほとんどの Linux システムはデフォルトで Bourne Again Shell (Bash) を使用していますが、代替手段はたくさんあります。C シェル (csh)、Z シェル (Zsh)、fish など。
SHELL 変数は、ユーザーのデフォルト シェルへのパスを指定します。ログインすると自動的に設定されます。
さらに、この変数はスクリプトで使用され、ユーザーのデフォルト シェルに基づいてプログラムの動作をカスタマイズします。たとえば、スクリプトは SHELL 変数の値をチェックし、使用されているシェルに応じて異なる構文またはオプションを使用する場合があります。
echo $SHELLを実行すると、SHELL 変数の現在の値を表示できます。chsh コマンドを使用して、デフォルトのシェルを変更できます。
5.PWD
Linux のもう 1 つの重要な環境変数である PWD は、現在の作業ディレクトリを保存します。ほとんどが静的なほとんどの環境変数とは異なり、これは cd コマンドを使用してディレクトリを変更するたびにシェルによって更新されます。
シェル スクリプトで PWD 変数を使用すると、現在の作業ディレクトリを簡単に参照できます。変数の値は、pwd コマンドを実行したときに得られる値と似ています。
6. ホスト名
ホスト名またはデバイス名は、ネットワーク上でコンピュータを識別するために使用される一意の名前です。たとえば、マシンに SSH 接続する場合は、IP アドレスの代わりにホスト名を使用できます。
HOSTNAME 変数は、単にシステムのホスト名を指定する環境変数です。これは、システムの起動時に自動的に設定され、通常、システムがネットワークに接続されているときにシステムを識別するために使用されます。Linux でホスト名を変更するには、いくつかの方法があります。
HOSTNAME 変数は、システムを識別し、ホスト名に基づいてその動作をカスタマイズするために、プログラムやスクリプトでも使用されます。通常、スクリプトは HOSTNAME 変数の値をチェックし、システムが特定のホストである場合にのみ特定のアクションを実行します。
Linux でのカスタム変数の作成
自動的に設定されるデフォルトの Linux 変数とは別に。export コマンドを使用して、独自のシェル変数を定義することもできます。「Hello World」という値を持つ GREETING という名前の新しい変数を作成するには、次のコマンドを使用できます。
export GREETING="Hello World"
その後、他の環境変数と同様に、スクリプトまたはコマンド ライン内で GREETING 変数を使用できます。
コメントを残す