0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

シェル変数と環境変数

Last updated at Posted at 2021-03-18

こんにちわ! @darry6335 です。
現在Lipic102の試験勉強中なのですが、3章 GNUとLinuxコマンドに関して学習した際に調べたことをここに記したいと思います。


###Linuxにおいて、シェルは2つある(シェル変数と環境変数)


###シェル変数
シェル変数は、現在実行しているシェルの中だけで有効な変数
setコマンドで現在有効になっている変数の一覧を確認できる。
bashを起動したり、logoutすると無効になる


###環境変数
新たにシェルを起動したり、logoutしても継承される変数
HISTSIZE変数やPATH変数、HOSTNAMEなど、様々な環境変数があり printenvコマンドで現在設定されている環境変数の一覧を見ることができる。
ユーザ固有の情報や全ユーザ共通の情報が設定されている。

参照 IT用語辞典より
環境変数とは、OSが設定値などを永続的に保存し、利用者や実行されるプログラムから設定・参照できるようにしたもの。プログラムの実行時などに必要となる、利用者やコンピュータごとに内容が異なる設定値などを記録するために用いられる。

UNIX系OSでは、TZの他にも、標準コマンドなどの置かれているパス(path)を設定する「PATH」や、現在の利用者のアカウント名を表す「USER」、現在の利用者のホームディレクトリのパスを表す「HOME」、利用者の使う言語(日本語、英語など)を設定する「LANG」、カレントディレクトリを表す「PWD」、デフォルトのシェルのパスを指定する「SHELL」などがよく用いられる。


##シェル環境のカスタマイズ

###1.シェル変数の定義
####set 変数名=値
定義するときは$は付けない
22キャプチャ.PNG
####変数の確認
出力するときは$を付ける
22キャプチャ.PNG
csh,tcshはArrayの定義が可能
22キャプチャ.PNG

###2.シェル変数の一覧表示
####set 引数なし
22キャプチャ.PNG
(上記以外にも色々有りました)

###3.シェル変数の削除
unset 変数名
22キャプチャ.PNG

###変数の参照 (定義した要素数を出力する)
echo $#変数名
キャプチャ.PNG


###1.環境変数の定義
export 変数名=値

2.環境変数の一覧表示
env (引数なし)

###3.シェル変数の削除
unset 変数名


###エイリアスの設定
linuxでは、任意のエイリアスを登録することができる。
alias [alias名=実行内容]
###alias一覧を表示する(引数なし)
###aliasの解除
unalias alias名
上記のコマンドをシェル上で叩けばaliasの設定はできるが、logoutするとaliasは無効になってしまうので次回以降もlogin後使いたいaliasを設定する場合は、設定ファイルに書き込む必要がある。


###ユーザ個別の参照ファイル
各ユーザのHome dir に格納されている。
ない場合は、新規作成する
###1.login時に読み込み
~/.bash_profile > ~/.bash_loginb > ~/.profile
※上記の順で検索し、いずれかのファイルが存在すれば読み込む
###2.bash起動時に読み込み
~/.bashrc
bashシェルのオプション指定は、set +/- で指定する


###コマンド実行されるまでの処理フロー
1.コマンド入力
2.PATH変数に登録されているディレクトリを検索
3.処理の実行

0
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?