MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


Linuxの基礎を知る(環境変数)
profile-img
投稿者: Tomoyaさん
投稿日:2023/07/24 15:14
更新日:
like-img
分類
技術
テクノロジー
Unix系サーバ
キャリア
運用・保守
投稿内容
今回は環境変数について説明していきます。
環境変数はLinuxではよく見かけるものですので、ぜひ覚えてみてください。

シェル変数
環境変数の前にシェル変数の説明をします。
シェル変数はシェルが動いているときに使える変数です。この変数をシェルが管理しており、プロセスが終了するとそこで作成されたシェル変数は消えてしまいます。例えば、bashを使っている場合、bashに作成したシェル変数はzshでは無効になります。また、同じbashであっても、別のプロセスであれば無効になります。

実際にシェル変数を作成するには以下の書式でコマンドを実行します。
[変数名]=[値]

<使用例>
#'test'という値を代入したTESTという変数名のシェル変数を作成
TEST="test'
#変数TESTの中身を確認
echo $TEST
test

setコマンド
setコマンドはシェル変数や環境変数を確認したり、シェルオプションを確認したりするコマンドです。

<オプション>
・オプションなし:既存のシェル変数を一覧表示する
・+o:指定したシェルオプションを無効にする(-でオプション有効、+で無効にできる)
・-a, +a:allexportオプションを有効・無効にする
・-f, +f:noglobオプションを有効・無効にする
・-u, +u:nounsetオプションを有効・無効にする
・-v, +v:verboseオプションを有効・無効にする
・-x, +x:xtraceオプションを有効・無効にする

シェルオプション
シェルオプションとはシェルの動作の設定です。

<シェルオプション>
・allexport:作成・変更したシェル変数を自動的にエクスポートする
・noglob:ファイル名置換を無効にする(ファイル名置換とはファイル名にメタ文字を使ったファイルを展開すること)
・nounset:未定義の変数を参照した場合、エラーを表示する
・verbose:コマンド実行前に入力業を表示する
・xtrace:コマンドと引数の展開処理を表示する

unsetコマンド
unsetコマンドは既存のシェル変数を削除するためのコマンドです。

<オプション>
・-f:シェル関数を指定する
・-v:シェル変数を指定する

環境変数
シェル変数が作成したシェルでのみ有効な変数であったのに対し、環境変数は小プロセスや別のシェルにも引き継がれる、すべてのプロセスで有効な変数です。よって、bashで作成した環境変数は、シェルをzshに変更したとしても有効なままです。

env(printenv)コマンド
env(printenv)コマンドは環境変数を一覧表示するためのコマンドです。特定の変数を表示したい場合は、echoを使います。

exportコマンド
exportコマンドはシェル変数を環境変数にエクスポートするために使用します。既存のシェル変数の変数名のみをエクスポートすると、代入されている値がそのまま引き継がれます。
一方、変数の新規作成と環境変数へのエクスポートを同時に行う場合には「変数名='値'」という形でそれぞれを明示的に宣言する必要があります。

~/.bash_profileと~/.brashrc
~/.bash_profileはログイン時にのみ読み込まれるファイルです。主に環境変数やログイン時に必要な設定を記述するためのファイルです。環境変数は全てのシェル(プロセス)で有効であるため、ログイン時に一度だけ読み込めばいいということになります。

~/.bashrcには、シェル変数やターミナルのテーマ、エイリアス、その他プラグインなどを記述するためのファイルです。これらは、シェルによって有効・無効が変わります。
よって、これらはシェルを起動するタイミングで読み込めばいいということになります。

また、ファイル名は使用しているログインシェルによって異なります。(例:zshをご利用の場合は~/.zsh_profileや~/.zshrcなどを使用します。)

alias
aliasは、コマンドに別名を付けて、その別名でコマンドを実行できる機能です。エイリアスはPCを操作するときでいうショートカットのようなものです。
長いコマンドを打つとき、打ち間違えが発生したり、そのほかにも、たくさんのオプションがある中で全て記憶し、正確にタイプできるかというところでは難しいものです。そのようなときにエイリアスを作成・使用することで、そういった不便さから解放され時短にもつながります。

<使用例>
# aliasコマンドで、'ls -l' のエイリアスとして、'l'を作成します。
alias l='ls -l'

# 作成したエイリアスを確認してみます。
alias l
l='ls -l'
l sample_file
-rw-r--r--  1 envader redavne    0 May 17 05:07 sample.txt

# 作成したエイリアスを削除するには、unaliasコマンドを使用します。
unalias l

~/.bash_aliases
エイリアスは「~/.bashrc」にも記述できますが、エイリアス専用ファイルとして「~/.bash_aliases」が存在します。「~/.bash_aliases」を使用する場合は、「~/.bashrc」内でシェル起動時に「~/.bash_aliases」を読み込む処理を記述しておく必要があります。
コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3