こんにちわ! @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 変数名=値
定義するときは$は付けない
####変数の確認
出力するときは$を付ける
csh,tcshはArrayの定義が可能
###2.シェル変数の一覧表示
####set 引数なし
(上記以外にも色々有りました)
###変数の参照 (定義した要素数を出力する)
echo $#変数名
###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.処理の実行