環境設定
シェルパラメータ
シェルパラメータの種類
Bashは,シェル中で値を格納するために使うものを総称してパラメータという。
- ポジショナルパラメータ
シェル起動時に渡される引数が格納されたもの。
$1(最初の引数),$2(2番目の引数),...といったもの。
- スペシャルパラメータ
$@(引数全部),$?(終了コード)など。
- シェル変数
名前が付けられたパラメータのなかで,B-Shellと互換のもの。
- Bash変数
名前が付けられたパラメータのなかで,Bash独自のもの。
シェル変数とBash変数
シェル変数とBash変数はWindowsの環境変数のようなもの。
ある状態が記憶されている。
プログラムの変数のようにして,新たに変数を定義して値を格納することもできる。
<変数名>=<値> |
変数に値を格納する。変数が存在しない場合は自動的に変数が作られる。 |
$<変数名> |
変数を参照する。 |
unset <変数名> |
変数を削除する。 |
実行例
[toshim@gw2000 ~]$ varstring='this is a sample of variable'
[toshim@gw2000 ~]$ varnumber=123
[toshim@gw2000 ~]$ set
(途中省略)
varnumber=123
varstring=this is a sample of variable
[toshim@gw2000 ~]$ echo $varstring
this is a sample of variable
[toshim@gw2000 ~]$ echo $varnumber
123
[toshim@gw2000 ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/vine/bin:/usr/local/bin:/usr/bi
n/mh:/home/toshim/bin
[toshim@gw2000 ~]$ unset varnumber
[toshim@gw2000 ~]$ set
(途中省略)
varstring=this is a sample of variable
|
変数のエクスポート
シェル変数とBash変数のスコープ(有効範囲)は,通常,実行中のシェルの中に限定される。
子プロセスに引き継ぐ場合はexportコマンドを使う。
[toshim@gw2000 ~]$ set
(途中省略)
PS2=> <-- PS2のデフォルト値は'>'
(途中省略)
[toshim@gw2000 ~]$ PS2='>>'
[toshim@gw2000 ~]$ set
(途中省略)
PS2=>> <-- '>>'が格納されている
(途中省略)
[toshim@gw2000 ~]$ bash <-- bashを子プロセスとして起動
[toshim@gw2000 ~]$ set
(途中省略)
PS2=> <-- 子プロセスの中では,PS2はデフォルト値の'>'になる
(途中省略)
[toshim@gw2000 ~]$ exit <-- bashを終了
[toshim@gw2000 ~]$ export PS2 <-- PS2をエクスポートする
[toshim@gw2000 ~]$ bash <-- もう一度bashを子プロセスとして起動
[toshim@gw2000 ~]$ set
(途中省略)
PS2=>> <-- 子プロセスにPS2の値('>')が引き継がれた
(途中省略)
|
設定ファイル
| シェルに関連するもの |
/etc/profile
|
システム全体に適用されるもの。ログイン時に実行され,シェル変数などを設定する。 |
~/.bash_profile
|
個々のユーザに適用されるもの。ログイン時に実行され,シェル変数などを設定する。 |
~/.bashrc
|
個々のユーザに適用されるもの。シェルを起動する都度実行され,シェル変数などを設定する。 |
~/.bash_logout
|
個々のユーザに適用されるもの。ログインアウト時に実行される。 |
~/.inputrc
|
コマンド入力編集機能(Readline)を設定するもの。 |
| X Windowに関連するもの |
~/.Xdefaults
|
X Windowsの設定情報が格納されている。 |
設定ファイルは使うソフトウェアが増えると,それに応じて増える。
ログインシェルの変更
chshコマンドでログインシェルを変更する。
[toshim@gw2000 ~]$ chsh
Changing shell for toshim.
Password:
New shell [/bin/bash]: /bin/csh
Shell changed.
|
|