2012年3月9日 星期五

linux export命令參數及用法詳解--linux設置環境變量命令

linux export命令參數及用法詳解--linux設置環境變量命令

功能說明:設置或顯示環境變量。 
語法:export [-fnp][變量名稱]=[變量設置值] 

補充說明:在shell中執行程序時,shell會提供一組環境變量。

export可新增,修改或刪除環境變量,供後續執行的程序使用。
export的效力僅及於該此登陸操作。 
參數:  
-f代表[變量名稱]中為函數名稱。  
-n刪除指定的變量。變量實際上並未刪除,只是不會輸出到後續指令的執行環境中。 
-p列出所有的shell賦予程序的環境變量。



設置系統環境變量在本站下面這兩篇文章中有詳細說明:
設置環境變量永久生效export PS1 : http://www.linuxso.com/a/linuxxitongguanli/1812.html
Linux設置全局環境變量的三種方法: http://www.linuxso.com/a/linuxrumen/3868.html

擴展閱讀:linux 的export 和source命令

linux 的export 和source命令
 
在任何時候建立的變量都只是當前shell的局部變量,所以不能被shell運行的其他命令或shell程序所利用。export ,是把你設置的環境變量傳給當前SHELL的子SHELL,使其在子SHELL中有效
source命令(從C Shell而來)是bash shell的內置命令。點命令,就是一個點符號,(從Bourne Shell而來)是source的另一名稱。這兩個命令都以一個腳本為參數,該腳本將作為當前shell的環境執行,即不會啟動一個新的子進程。所有在腳本中設置的變量將成為當前Shell的一部分。同樣的,當前腳本中設置的變量也將作為腳本的環境,source(或點)命令通常用於重新執行剛修改的初始化文件,如.bash_profile和.profile等等。例如,如果在登錄後對.bash_profile中的EDITER和TERM變量做了修改,則可以用source命令重新執行.bash_profile中的命令而不用註銷並重新登錄。象.bash_profile或其它類似的Shell腳本這樣,文件無需可執行權限即可用source或點命令執行。

source命令的一個妙用

在編譯核心時,常常要反复輸入一長串命令,如
make mrproper
make menuconfig
make dep
make clean
make bzImage
.......
這些命令既長,又繁瑣。而且有時候容易輸錯,浪費你的時間和精力。如果把這些命令做成一個文件,讓它自動按順序執行,對於需要多次反复編譯核心的用戶來說,會很方便。用source命令可以辦到這一點。它的作用就是把一個文件的內容當成是shell來執行。先在/usr/src/linux- 2.4.20目錄下建立一個文件,取名為make_command:
在其中輸入如下內容:
make mrproper &&
make menuconfig &&
make dep &&
make clean &&
make bzImage &&
make mo du les &&
make modules_install &&
cp arch/i386/boot/bzImge /boot/vmlinuz_new &&
cp System.map /boot &&
vi /etc/ lilo .conf &&
lilo -v
文件建立好之後,以後每次編譯核心,只需要在/usr/src/linux-2.4.20下輸入
source make_command
就行了。這個文件也完全可以做成腳本,只需稍加改動即可。這裡主要是讓大家理解source的用法。如果你用的不是lilo來引導系統,可以把最後兩句話去掉。配置你自己的引導程序來引導新內核。

shell編程中的命令有時和C語言是一樣的。&&表示與,||表示或。把兩個命令用&&聯接起來,如make mrproper && make menuconfig ,表示要第一個命令執行成功才能執行第二個命令。對執行順序有要求的命令能保證一旦有錯誤發生,下面的命令不會盲目地繼續執行。
 --------------------------------------------------------
一天一個linux命令 -----export

功能說明:設置或顯示環境變量。

語法:export [-fnp][變量名稱]=[變量設置值]

補充說明:在shell中執行程序時,shell會提供一組環境變量。export可新增,修改或刪除環境變量,供後續執行的程序使用。export的效力僅及於該此登陸操作。

參數:
-f 代表[變量名稱]中為函數名稱。
-n 刪除指定的變量。變量實際上並未刪除,只是不會輸出到後續指令的執行環境中。
-p 列出所有的shell賦予程序的環境變量。
案例:
安裝me mc ache模塊

[root@localhost]# cd memcache-2.1.0
[root@localhost]#export PHP_PREFIX=/usr/local/server/php
[root@localhost]#$PHP_PREFIX/bin/phpize
[root@localhost]#./configure -- enable -eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
[root@localhost]#make && make install
 
登錄到系統後,系統將啟動一個用戶shell。在這個shell中,可以使用shell命令或聲明變量,也可以創建並運行shell腳本程序。

運行shell腳本程序時,系統將創建一個子shell。此時,系統中將有兩個shell,一個是登錄時系統啟動的shell,另一個是系統為運行腳本程序創建的shell。

當一個腳本程序運行完畢,它的腳本shell將終止,可以返回到執行該腳本之前的shell。從這種意義上來說,用戶可以有許多shell,每個shell都是由某個shell(稱為父shell)派生的。

在子shell中定義的變量只在該子shell內有效。如果在一個shell腳本程序中定義了一個變量,當該腳本程序運行時,這個定義的變量只是該腳本程

序內的一個局部變量,其他的shell不能引用它,要使某個變量的值可以在其他shell中被改變,可以使用export命令對已定義的變量進行輸出。

export命令將使系統在創建每一個新的shell時定義這個變量的一個拷貝。這個過程稱之為變量輸出。


#echo $PKG_PATH 在任何時候建立的變量都只是當前shell的局部變量,所以不能被shell運行的其他命令或shell程序所利用。
export ,是把你設置的環境變量傳給當前SHELL的子SHELL,使其在子SHELL中有效。

沒有留言:

TeraTerm是一款開放原始碼的遠程客戶端操作軟體

因為工作需求,有時我們需要從遠端登入某設備或是主機,又或者因為故障排除,需要透過serial port連入某設備進行檢查和操控。 偶然看到某SI的工程師,使用這個工具,想說也來使用看看。心中相信這應該是好工具,人家才會用它。 我自己通常都是簡單使用的話用 putty,想要用好一...