³£¼ûµÄ»·¾³±äÁ¿
¶ÔÓÚPATHºÍHOMEµÈ»·¾³±äÁ¿´ó¼Ò¶¼²»Ä°Éú¡£³ý´ËÖ®Í⣬»¹ÓÐÏÂÃæÒ»Ð©³£¼û»·¾³±äÁ¿¡£
¡ô HISTSIZEÊÇÖ¸±£´æÀúÊ·ÃüÁî¼Ç¼µÄÌõÊý¡£
¡ô LOGNAMEÊÇÖ¸µ±Ç°Óû§µÄµÇ¼Ãû¡£
¡ô HOSTNAMEÊÇÖ¸Ö÷»úµÄÃû³Æ£¬Ðí¶àÓ¦ÓóÌÐòÈç¹ûÒªÓõ½Ö÷»úÃûµÄ»°£¬Í¨³£ÊÇ´ÓÕâ¸ö»·¾³±äÁ¿ÖÐÀ´È¡µÃµÄ¡£
¡ô SHELLÊÇÖ¸µ±Ç°Óû§ÓõÄÊÇÄÄÖÖShell¡£
¡ô LANG/LANGUGEÊǺÍÓïÑÔÏà¹ØµÄ»·¾³±äÁ¿£¬Ê¹ÓöàÖÖÓïÑÔµÄÓû§¿ÉÒÔÐ޸Ĵ˻·¾³±äÁ¿¡£
¡ô MAILÊÇÖ¸µ±Ç°Óû§µÄÓʼþ´æ·ÅĿ¼¡£
¡ô PS1ÊÇ»ù±¾Ìáʾ·û£¬¶ÔÓÚrootÓû§ÊÇ#£¬¶ÔÓÚÆÕͨÓû§ÊÇ$¡£PS2ÊǸ½ÊôÌáʾ·û£¬Ä¬ÈÏÊÇ¡°>¡±¡£¿ÉÒÔͨ¹ýÐ޸Ĵ˻·¾³±äÁ¿À´Ð޸ĵ±Ç°µÄÃüÁî·û£¬±ÈÈçÏÂÁÐÃüÁî»á½«Ìáʾ·ûÐ޸ijÉ×Ö·û´®¡°Hello,My NewPrompt :) ¡±¡£
# PS1=" Hello,My NewPrompt :) "
Hello,My NewPrompt :)
³ýÁËÕâЩ³£¼ûµÄ»·¾³±äÁ¿£¬Ðí¶àÓ¦ÓóÌÐòÔÚ°²×°Ê±Ò²»áÔö¼ÓһЩ»·¾³±äÁ¿£¬±ÈÈçʹÓÃJava¾ÍÒªÉèÖÃJAVA_HOMEºÍCLASSPATHµÈ£¬¶ø°²×°Îå±ÊÊäÈë·¨»áÔö¼Ó»·¾³±äÁ¿"XMODIFIERS=@im=fcitx"µÈ¡£
¶¨ÖÆ»·¾³±äÁ¿
»·¾³±äÁ¿ÊǺÍShell½ôÃÜÏà¹ØµÄ£¬Óû§µÇ¼ϵͳºó¾ÍÆô¶¯ÁËÒ»¸öShell¡£¶ÔÓÚLinuxÀ´ËµÒ»°ãÊÇbash£¬µ«Ò²¿ÉÒÔÖØÐÂÉ趨»òÇл»µ½ÆäËüµÄShell¡£»·¾³±äÁ¿ÊÇͨ¹ýShellÃüÁîÀ´ÉèÖõģ¬ÉèÖúõĻ·¾³±äÁ¿ÓÖ¿ÉÒÔ±»ËùÓе±Ç°Óû§ËùÔËÐеijÌÐòËùʹÓ᣶ÔÓÚbashÕâ¸öShell³ÌÐòÀ´Ëµ£¬¿ÉÒÔͨ¹ý±äÁ¿ÃûÀ´·ÃÎÊÏàÓ¦µÄ»·¾³±äÁ¿£¬Í¨¹ýexportÀ´ÉèÖû·¾³±äÁ¿¡£ÏÂÃæÍ¨¹ý¼¸¸öʵÀýÀ´ËµÃ÷¡£
1. ÏÔʾ»·¾³±äÁ¿HOME
$ echo $HOME
/home/terry
2. ÉèÖÃÒ»¸öÐµĻ·¾³±äÁ¿WELCOME
$ export WELCOME="Hello!"
$ echo $WELCOME
Hello!
3. ʹÓÃenvÃüÁîÏÔʾËùÓеĻ·¾³±äÁ¿
$ env
HOSTNAME=terry.mykms.org
PVM_RSH=/usr/bin/rsh
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
...
4. ʹÓÃsetÃüÁîÏÔʾËùÓб¾µØ¶¨ÒåµÄShell±äÁ¿
$ set
BASH=/bin/bash
BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")
BASH_VERSION='2.05b.0(1)-release'
COLORS=/etc/DIR_COLORS.xterm
COLUMNS=80
DIRSTACK=()
DISPLAY=:0.0
...
5. ʹÓÃunsetÃüÁîÀ´Çå³ý»·¾³±äÁ¿
set¿ÉÒÔÉèÖÃij¸ö»·¾³±äÁ¿µÄÖµ¡£Çå³ý»·¾³±äÁ¿µÄÖµÓÃunsetÃüÁî¡£Èç¹ûδָ¶¨Öµ£¬Ôò¸Ã±äÁ¿Öµ½«±»ÉèΪNULL¡£Ê¾ÀýÈçÏ£º
$ export TEST="Test..." #Ôö¼ÓÒ»¸ö»·¾³±äÁ¿TEST
$ env|grep TEST #´ËÃüÁîÓÐÊäÈ룬֤Ã÷»·¾³±äÁ¿TESTÒѾ´æÔÚÁË
TEST=Test...
$ unset $TEST #ɾ³ý»·¾³±äÁ¿TEST
$ env|grep TEST #´ËÃüÁîûÓÐÊä³ö£¬Ö¤Ã÷»·¾³±äÁ¿TESTÒѾ´æÔÚÁË
6. ʹÓÃreadonlyÃüÁîÉèÖÃÖ»¶Á±äÁ¿
Èç¹ûʹÓÃÁËreadonlyÃüÁîµÄ»°£¬±äÁ¿¾Í²»¿ÉÒÔ±»Ð޸ĻòÇå³ýÁË¡£Ê¾ÀýÈçÏ£º
$ export TEST="Test..." #Ôö¼ÓÒ»¸ö»·¾³±äÁ¿TEST
$ readonly TEST #½«»·¾³±äÁ¿TESTÉèΪֻ¶Á
$ unset TEST #»á·¢Ïִ˱äÁ¿²»Äܱ»É¾³ý
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New" #»á·¢ÏÖ´ËÒ²±äÁ¿²»Äܱ»ÐÞ¸Ä
-bash: TEST: readonly variable
7. ÓÃC³ÌÐòÀ´·ÃÎʺÍÉèÖû·¾³±äÁ¿
¶ÔÓÚC³ÌÐòµÄÓû§À´Ëµ£¬¿ÉÒÔʹÓÃÏÂÁÐÈý¸öº¯ÊýÀ´ÉèÖûò·ÃÎÊÒ»¸ö»·¾³±äÁ¿¡£
¡ô getenv()·ÃÎÊÒ»¸ö»·¾³±äÁ¿¡£ÊäÈë²ÎÊýÊÇÐèÒª·ÃÎʵıäÁ¿Ãû×Ö£¬·µ»ØÖµÊÇÒ»¸ö×Ö·û´®¡£Èç¹ûËù·ÃÎʵĻ·¾³±äÁ¿²»´æÔÚ£¬Ôò»á·µ»ØNULL¡£
¡ô setenv()ÔÚ³ÌÐòÀïÃæÉèÖÃij¸ö»·¾³±äÁ¿µÄº¯Êý¡£
¡ô unsetenv()Çå³ýij¸öÌØ¶¨µÄ»·¾³±äÁ¿µÄº¯Êý¡£
ÁíÍ⣬»¹ÓÐÒ»¸öÖ¸Õë±äÁ¿environ£¬ËüÖ¸ÏòµÄÊǰüº¬ËùÓеĻ·¾³±äÁ¿µÄÒ»¸öÁÐ±í¡£ÏÂÃæµÄ³ÌÐò¿ÉÒÔ´òÓ¡³öµ±Ç°ÔËÐл·¾³ÀïÃæµÄËùÓл·¾³±äÁ¿£º
#include
extern char**environ;
int main ()
{
char**var;
for (var =environ;*var !=NULL;++var)
printf ("%s \n ",*var);
return 0;
}
»¹¿ÉÒÔͨ¹ýÐÞ¸ÄһЩÏà¹ØµÄ»·¾³¶¨ÒåÎļþÀ´Ð޸Ļ·¾³±äÁ¿£¬±ÈÈç¶ÔÓÚRed HatµÈLinux·¢Ðа汾£¬Óë»·¾³Ïà¹ØµÄÎļþÓÐ/etc/profileºÍ~/.bashrcµÈ¡£ÐÞ¸ÄÍê±ÏºóÖØÐµÇ¼һ´Î¾ÍÉúЧÁË¡£

