1. 概要

環境変数は、値を格納する場所を定義する動的オブジェクトです。 環境変数を使用して、システムとソフトウェアの動作を変更できます。 コンピュータプログラミングでは、環境変数が非常に重要です。 開発者が柔軟なプログラムを作成するのに役立ちます。

Linuxで環境変数を一覧表示または表示する方法は複数あります。 env printenv describe 、または set コマンドを使用して、システム内のすべての変数を一覧表示できます。

このチュートリアルでは、Linuxで環境変数を一覧表示する方法について説明します。

2. printenvコマンドの使用

printenv コマンドラインユーティリティは、現在のシェルの環境変数の値を表示します。

コマンドラインで1つ以上の変数名を指定して、それらの特定の変数のみを出力できます。 または、引数なしでコマンドを実行すると、現在のシェルのすべての環境変数が表示されます。

たとえば、printenvコマンドに続いてHOMEを使用して、HOME環境変数の値を表示できます。

$ printenv HOME
/root

さらに、複数の環境変数 printenv コマンドで指定して、指定したすべての環境変数の値を表示できます。

HOMEおよびSHELL環境変数の値を表示してみましょう。

$ printenv HOME SHELL
/root
/bin/bash

printenv コマンドを引数なしで使用すると、すべての環境変数リストを表示できます。

$ printenv
XDG_VTNR=7
XDG_SESSION_ID=c1
SHELL=/bin/bash
TERM=xterm
USER=root
SUDO_USER=vyom
SUDO_UID=1000
USERNAME=root
MAIL=/var/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
...

3. envコマンドの使用

env は、環境変数とその値のリストを出力するために使用できるもう1つのシェルコマンドです。 同様に、 env コマンドを使用して、シェルスクリプトで正しいインタープリターを起動できます。

env コマンドを引数なしで実行して、すべての環境変数リストを表示できます。

$ env
XDG_VTNR=7
XDG_SESSION_ID=c1
SHELL=/bin/bash
TERM=xterm
USER=root
SUDO_USER=vyom
SUDO_UID=1000
USERNAME=root
MAIL=/var/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
...

grep コマンドを使用して、関心のある特定の変数の値をフィルタリングできます

$ env | grep USERNAME
USERNAME=root

4. setコマンドの使用

set は、各シェル変数の名前と値をリストするためのさらに別のコマンドラインユーティリティです。 set コマンドには他の用途もありますが、オプションや引数なしで実行することで、現在のシェルのすべてのシェル変数の名前と値を表示できます

$ set
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_COMPLETION_COMPAT_DIR=/etc/bash_completion.d
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="4" [1]="3" [2]="11" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
...

5. describeコマンドの使用

describe は、シェル変数を宣言し、その値を表示するために使用されるもう1つの組み込みコマンドです

たとえば、システム内のすべてのシェル変数のリストを印刷するオプションを指定せずにdescribeコマンドを実行してみましょう。

$ declare
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_COMPLETION_COMPAT_DIR=/etc/bash_completion.d
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="4" [1]="3" [2]="11" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
...

6. echoコマンドの使用

echo は、Linuxのシェル変数の値を表示するためにも使用されます。

たとえば、 echo コマンドを実行して、$HOSTNAME変数の値を表示してみましょう。

$ echo $HOSTNAME
ubuntupc 

7. 結論

この短い記事では、さまざまなLinuxコマンドを使用して環境変数を一覧表示する方法について説明しました。