OSのコマンドインタープリターであるShellは、コマンドラインに入力され、Linuxで広く使用されているコマンドを処理します。変数は特定のデータへのポインターのようなものであり、任意の特定の値を保持します。ユーザーは、シェルを使用して変数を作成、削除、または割り当てることができます。
シェルの実行中は、次の3種類の変数が存在します。
- ローカル変数
- シェル変数
- 環境変数
このチュートリアルでは、Linuxで環境変数とシェル変数を設定する方法を説明します。
シェル変数とは何ですか?
シェル変数は現在のシェルに固有であり、シェルが正しく機能するために使用します。これらの変数は一時的なものであり、永続的にするために、環境変数としてエクスポートできます。
一般的なシェル変数のいくつかは次のとおりです。
- UID: 現在ログインしているユーザーのID
- ホスト名: 特定の時間におけるコンピューターのホスト名
- BASH_VERSINFO: 機械可読形式のbashバージョン
- BASH_VERSION: bashバージョンの人間が読める形式の出力
- DIRSTACK: 「popd」および「pushd」コマンドで使用可能なディレクトリのスタック
- SHELLOPTS: シェルオプションを設定できます
環境変数とは何ですか?
環境変数は、シェルの任意のプログラムまたは子プロセスで使用できるシステム全体で使用可能な変数です。また、シェルスクリプトは、プログラムの実行に必要な環境変数を定義します。
一般的な環境変数のいくつかは次のとおりです。
- メール: ユーザーのメールディレクトリまたはユーザーのメールボックスへのパス
- TEMP: 一時ファイルのディレクターの場所
- 障害者: 現在の作業ディレクトリ
- OLDPWD: 以前の作業ディレクトリ
- ユーザー: 現在ログインしているユーザー
- LANG: 現在の言語
- ログ名: ユーザー名
- ホーム: 現在のユーザーのホームディレクトリ
- _: 最近実行された前のコマンド
- シェル: 現在のシェル
- 編集者: Linuxのデフォルトのテキストエディタ
- ホスト名: ネットワーク上のデバイスのホスト名
シェル変数と環境変数の設定に役立つコマンドのいくつかを次に示します。
- env: カスタム環境を使用して、既存の環境を変更せずに別のプログラムを実行できます。
- printenv: これにより、システムのすべての環境変数が出力されます。
- セット: 環境変数とシェル変数を設定するために使用されます。
- 未設定: 環境変数とシェル変数を削除するために使用されます。
- エクスポート: シェル変数を環境変数にエクスポートしてみましょう。
シェル変数と環境変数を出力する方法
Shellは、すべての環境変数とシェル変数を追跡します。それにアクセスするには、次の2つのコマンドを使用できます。
- printenv: すべての環境変数を出力します。
- セット: シェル変数を出力します。
Linuxで環境変数とシェル変数を設定するにはどうすればよいですか?
これで、環境変数とシェル変数が何であるかがわかりました。それでは、Linuxでこれらの変数を作成および設定する方法を学びましょう。環境変数とシェル変数の違いを実際に明確に理解する。最初にシェル変数を設定し、次に環境変数を設定します。
シェル変数の作成
- シェル変数を設定するには、シェルでこのコマンドを実行します。これにより、現在のセッションで使用できるシェル変数が作成されます。
TESTVAR='Hello!'
- grepコマンドを使用して変数を確認することもできます。
set | grep TESTVAR
このような出力が表示されます。
TESTVAR='Hello!'
- 次のコマンドを使用してシェル変数の値を確認することもできます。
echo $TESTVAR
- これはシェル変数であるため、他のアプリケーションや子プロセスでは使用できません。環境変数ではないことを確認することもできます。
printenv | grep TESTVAR
出力はありません。これは、環境変数ではないことを意味します。
環境変数の作成 - それでは、シェル変数を環境変数にエクスポートしましょう。これを行うには、次のコマンドを使用します。
export TESTVAR
- これにより、シェル変数が環境変数に変わり、次のコマンドを実行することを確認します。
printenv | grep TESTVAR
今回は、次のような出力が表示されます。
TESTVAR='Hello!'
- これで、シェル変数を環境変数に変換する方法と、環境変数を直接作成する方法がわかりました。このコマンドを使用すると、環境変数を1つのステップで設定できます。
export NEWVAR="Hello Env"
- これは環境変数として直接エクスポートされ、それを確認できます。
printenv | grep NEWVAR
このような出力が表示されます。
NEWWAR=Hello Env
export TESTVAR
printenv | grep TESTVAR
今回は、次のような出力が表示されます。
TESTVAR='Hello!'
export NEWVAR="Hello Env"
printenv | grep NEWVAR
このような出力が表示されます。
NEWWAR=Hello Env
このようにして、Linuxでシェルと環境を設定できます。
変数の設定解除
これで、変数の設定方法がわかりました。それらの設定を解除する方法を学びましょう。
- このコマンドを使用して、環境変数をシェル変数に再度変更できます。
export -n TESTVAR
- シェル変数のままですが、環境変数は残りません。それを確認しましょう。
printenv | grep TESTVAR
- 出力はありませんが、Shell変数をチェックすると、
set | grep TESTVAR
出力が表示されます。
TESTVAR='Hello!'
- 完全に設定を解除する場合は、このコマンドを使用します。
unset TESTVAR
結論
環境変数とシェル変数は、シェルを頻繁に使用する場合に非常に役立ちます。これらの変数の設定と設定解除の方法を学ぶことは、長期的な観点からは有益です。