linuxユーザー環境変数の理解

5865 ワード

一.Linux環境変数の基本的な理解
http://blog.csdn.net/ddviplinux/article/details/4280433
1.環境変数とは?
Linuxはマルチユーザのオペレーティングシステムです.マルチユーザは、各ユーザがシステムにログインした後、自分専用の運行環境があるということです.この環境は環境変数と呼ばれる変数のセットで定義されています.ユーザーは自分の環境変数を環境に対する要求に達するように修正することができます.
2.環境変数はShellコマンドで設定されています.環境変数はまた、現在のユーザが実行しているすべてのプログラムによって使用されます.bashに対しては、変数名来を通じて、対応する環境変数にアクセスすることができます.
例:
a.環境変数HOMEを表示する 
$echo$HOME
//home/admin
b.新たな環境変数NAMEを設定する
$export NAME="RaidCheng"
$echo$NAME
RaidCheng
c.envコマンドを使用して、すべての環境変数を表示します. 
$env
HOSTNAME=test
TERM=vt 100
SHELL=/bin/bash
HISTSIZE=1000
SSHCLIENT=202.xxx.xxx 53694
CATALINABASE=/usr/local/jakata-tomcat
SSHTTY=/dev/pts/0
ANT_ホーム=/usr/local/ant
JAVA_OTS=-server
USER=admin

d.setコマンドを使用して、すべてのローカル定義のShell変数を表示します. 
$セット
BASH=/bin/bash
BASH_VERINFO=([0]="2"="05 b"="0"="3"="1"="release"[5]="i 386-redhat-linux-gnu")
BASH_VERION='2.05 b..0(1)-release'
CATALINABASE=/usr/local/jakata-tomcat
CATALINAHOME=/usr/local/jakata-tomcat

e.unsetコマンドを使用して環境変数をクリアします. 
$export NAME="RaidCheng"
$echo$NAME
RaidCheng
$unset NAME
$echo$NAME
f.リードオンリーコマンドを使ってリードオンリー変数を設定する 
$export NAME="RaidCheng"
$readonly NAME
$unset NAME
-bash:unset:NAME:cannot unset:readonly variable
$NAME="New"という変数も修正できないことが分かります.
-bash:TEST:readonly variable
3. 一般的な環境変数 
PATHはshellがどのディレクトリにコマンドやプログラムを探すかを決めました.
ホーム現在ユーザホームディレクトリ 
HISTSIZE履歴数
LOGNAME現在ユーザの登録名 
HOSTNAMEとはホストの名前です.
SHELL前ユーザShellタイプ 
LANGUGE言語に関する環境変数は、多言語でこの環境変数を変更できます.
MAIL現在のユーザのメール保存ディレクトリ 
PS 1の基本的なプロトユーザーに対して、一般ユーザーに対しては
PS 2付属のプロンプト、デフォルトは「>」です.
二、環境変数を配置するいくつかの常用方法
1.修正/etc/profileファイルは、あなたのコンピュータが開発としてのみ使用する場合、この方法を推奨します.すべてのユーザーのshellはこれらの環境変数を使用する権利がありますので、システムに安全性の問題をもたらすかもしれません.  (1)テキストエディタで開く/etc/profile  (2)プロファイル末尾にJAVA_HOME=/usr/share/jdk 1.5.0_05 PATH=$JAVA_HOME/bin:$PATH CLAS SPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH  (3)再登録  注:a.あなたは/usr/share/jdk 1.5.0_05 jdkをあなたのjdkインストールディレクトリに変更します. b.linuxでは、「」という名前で経路を分離します. c.$PATH/$CLASSPATH/$JAVA_ホームは元の環境変数の値を引用するために使用されています.環境変数を設定する際には、元の値を上書きしないように注意してください.これはよくあるエラーです.  d.CLASSPATHの現在のディレクトリ「.」をなくしてはいけません.現在のディレクトリを捨てるのもよくあるエラーです.  e.exportは、これらの3つの変数をグローバル変数としてエクスポートします.  f.大文字と小文字は厳密に区別しなければならない.  2.変更.bashrcファイルのこの方法はより安全であり、これらの環境変数を使用する権限をユーザーレベルにコントロールできます.もし、ユーザー権限にこれらの環境変数を使用する必要があるなら、個人ユーザーのホームディレクトリの下のbashrcファイルを修正してもいいです.  (1)ユーザーディレクトリ下の.bashrcファイルをテキストエディタで開く  (2)在.bashrcファイル末尾加入:set JAVA_HOME=/usr/share/jdk 1.5.0_05 export JAVA_ホームセットPATH=$JAVA_HOME/bin:$PATH export PATH set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export CLASSPATH  (3)再登録  3.直接shellの下に変数を設定するのはこの方法の使用には賛成できません.shellを変えると設定が無効になりますので、この方法は一時的に使うだけで、後で使う時にまた設定し直すのは面倒くさいです.  shell端末で以下の命令を実行するだけでいいです.export JAVA_.HOME=/usr/share/jdk 1.5.0_05 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
三、何種類かの流行のshell
現在人気のあるシェルは、sh、bash、ksh、sh、zshなどがあります.自分のシェルタイプを確認するために以下のコマンドを使ってもいいです.コマンドを使ってもいいです.他のシェルに変えてください.ここでShell-nameはshellという名前を使ってみたいです.このコマンドは、ユーザが再度Shellを起動し、このShellは最初に登録したShellの後、下級のShellまたはサブシェルと呼ばれる.使用コマンド:菗exitはこの子シェルを脱退することができます.Shellを使う理由はそれぞれ自分の特徴があります.簡単に紹介します.1.sh ShellはKenneth Almquistによって編纂されたもので、Linuxの中でシステム資源の一番小さいShellを占有しています.2.bash bashはLinuxシステムのデフォルトで使われているShellで、Brian FoxとChet Rameyが共同で完成した.Bourne Again Shellの略語で、内部コマンドは全部で40個あります.Linuxは、デフォルトのShellとして使用されています.(1)DOSの下にあるdoskyyのような機能を使用して、上下方向キーで確認し、迅速に入力し、コマンドを変更することができます.(2)自動的にマッチを検索することにより、ある文字列の先頭にコマンドが与えられます.(3)自身のヘルプ機能が含まれています.提示符の下にhelpを入力すると助けられます.3.ksh kshはKorrn Shellの略語で、エリックGisinによって編纂され、42の内部コマンドがあります.このShellの最大の利点は、商業版のKshとほぼ互換性があり、お金をかけずにビジネスバージョンを購入することで、ビジネスバージョンの性能を試すことができるということです.4.csh cshはLinuxの比較的大きなカーネルであり、William Joyに代表される計47人の作者によって編成され、52の内部コマンドがあります.このShellは実は/bin/tcshのようなShellを指しています.つまり、cshはtcshです.5.zch chはLinux最大のShellの一つで、Paul Falstadによって完成され、全部で84の内部コマンドがあります.普通の用途であれば、このようなシェルを取り付ける必要はありません.
例:
eshjish@linux-3fof:~/Desktop> echo $0
/bin/bash
eshjish@linux-3fof:~/Desktop> echo $SHELL
/bin/bash
eshjish@linux-3fof:~/Desktop> ps
  PID TTY          TIME CMD
 8091 pts/0    00:00:00 bash
 8115 pts/0    00:00:00 ps
eshjish@linux-3fof:~/Desktop> csh
eshjish/Desktop> echo $0
csh
eshjish/Desktop> echo $SHELL
/bin/bash
eshjish/Desktop> ps
  PID TTY          TIME CMD
 8091 pts/0    00:00:00 bash
 8118 pts/0    00:00:00 csh
 8141 pts/0    00:00:00 ps
eshjish/Desktop> ksh
eshjish@linux-3fof:/home/eshjish/Desktop> echo $0
ksh
eshjish@linux-3fof:/home/eshjish/Desktop> echo $SHELL
/bin/bash
eshjish@linux-3fof:/home/eshjish/Desktop> ps
  PID TTY          TIME CMD
 8091 pts/0    00:00:00 bash
 8118 pts/0    00:00:00 csh
 8146 pts/0    00:00:00 ksh
 8164 pts/0    00:00:00 ps
eshjish@linux-3fof:/home/eshjish/Desktop> 
四、よくあるミス
四、常犯するエラー今日はローカルVMを配置する上で自分のユーザーのcshを設定する時、誤って致命的なエラーを犯しました.多くのlinux基本命令が使えなくなりました.同時にvm上でghomeが正常に起動できなくなりました.ホームディレクトリのユーザーのcsh環境変化量を編集する時、java環境変数を設定する時にエラーが発生しました. vi~/.cshrc 2.JAVA_を設置するHOME setensv JAVA_HOME/ap/j 2 sdk/1.6.0_45/LMWP 3/setensv PATH$JAVA_HOME/bin;$PATH…3.保存終了後、サービスを一時的に有効にするか再登録する source~/.cshrcは環境変数を設定する際に、「:」を「;」に入力してしまいました.また再登録で有効にしたため、再登録後はシステムパスの基本命令が使えなくなり、vimさえ使えなくなりました.まず、vimインストール経路/usr/bin/vimを見つけてから、手動で/usr/bin/vim~/.cshrcを開いてください.cshrcを再編集します.
学習資料を参考にする:
1. Learning the Korrn Shell . 
by ByビルRosenbratt;ISBN 1-56592-054-6,336 pages.First Edition,June 1993.
http://docstore.mik.ua/orelly/unix/ksh/index.htm
2. Korrn Shellスクリプト入門
http://www.ibm.com/developerworks/cn/aix/library/au-kornshellscripting/