概要
Linux上で操作をする際に使用する変数に、シェル変数と環境変数があります。シェル変数は設定をしたプロセスでのみ有効な変数であるのに対して環境変数は別のプロセスにも引き継がれます。
環境変数の設定方法と、表示方法について整理します。
また、よく使うPATHの環境変数についても整理します。
要点
- 環境変数の表示方法 環境変数を表示するにはprintenvコマンドを使います。
$ printenv
SHELL=/bin/bash
LANGUAGE=ja_JP.UTF-8
NO_AT_BRIDGE=1
PWD=/home/pi
LOGNAME=pi
XDG_SESSION_TYPE=tty
HOME=/home/pi
【省略】
LC_ALL=ja_JP.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
MAIL=/var/mail/pi
SSH_TTY=/dev/pts/0
TEXTDOMAIN=Linux-PAM
_=/usr/bin/printenv
個別に表示する場合は「echoコマンド $変数名」を使って表示することもできます。
$ echo $LANG
ja_JP.UTF-8
$ echo $LANG
ja_JP.UTF-8
$
$ LANG=en_US.UTF-8
$
$ echo $LANG
en_US.UTF-8
以下は環境変数を設定したけど、exportしてないから子プロセスに引き継がれなくて、exportしたら環境変数が引き継がれた様子です。
$ NAME=aaa $ echo $NAME aaa $ bash ★子プロセスへ移動 $ echo $NAME ★表示されない $ exit $ $ echo $NAME aaa $ export NAME $ bash ★子プロセスへ移動 $ echo $NAME ★表示されてる aaa
変数名 | 説明 |
---|---|
PWD | カレントディレクトリの絶対パス |
PATH | 参照しているコマンドのパス |
HOME | ユーザのホームディレクトリ |
PS1 | プロンプトを定義 |
PS2 | 2次プロンプトを定義 |
HISTFILE | コマンド履歴を格納するファイルを定義 |
LANG | 言語情報 |
HOSTNAME | ホスト名 |
USER | 現在のユーザ名 |
HISTSIZE | コマンド履歴の最大値 |
LAGNAME | ログインシェルのユーザ名 |
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
これは、このユーザが以下のフォルダにあるコマンドを相対パスで実行できることを示しています。- /usr/local/sbin
- /usr/local/bin
- /usr/sbin
- /usr/bin
- /sbin
- /bin
- /usr/local/games
- /usr/games
なので、例えば実行できるコマンドを追加してパスを通す必要が出てきたときは、この環境変数PATHにコマンドのパスを追加します。
0 件のコメント:
コメントを投稿