功能說明:設置或顯示環境變量。
語 法:export [-fnp][變量名稱]=[變量設置值]
補充說明:在shell中執行程序時,shell會提供一組環境變量。export可新增,修改或刪除環境變量,供後續執行的程序使用。export的效力僅及於該此登陸操作。
參 數:
-f 代表[變量名稱]中為函數名稱。
-n 刪除指定的變量。變量實際上並未刪除,只是不會輸出到後續指令的執行環境中。
-p 列出所有的shell賦予程序的環境變量。
一個變量創建時,它不會自動地為在它之後創建的shell進程所知。而命令export可以向後面的shell傳遞變量的值。當一個shell腳本調用並執行時,它不會自動得到原為腳本(調用者)裡定義的變量的訪問權,除非這些變量已經被顯式地設置為可用。export命令可以用於傳遞一個或多個變量的值到任何後繼腳本。 登錄到系統後,系統將啟動一個用戶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中有效。
擴展閱讀: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 modules &&
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賦予程序的環境變量。
案 例:
安裝memcache模塊
[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時定義這個變量的一個拷貝。這個過程稱之為變量輸出。
#export PKG_PATH=ftp://openbsd.informatik.uni-erlangen.de/pub/OpenBSD/4.1/packages/i386
#echo $PKG_PATH
一天一個linux命令-----export
功能說明:設置或顯示環境變量。
語 法:export [-fnp][變量名稱]=[變量設置值]
補充說明:在shell中執行程序時,shell會提供一組環境變量。export可新增,修改或刪除環境變量,供後續執行的程序使用。export的效力僅及於該此登陸操作。
參 數:
-f 代表[變量名稱]中為函數名稱。
-n 刪除指定的變量。變量實際上並未刪除,只是不會輸出到後續指令的執行環境中。
-p 列出所有的shell賦予程序的環境變量。
案 例:
安裝memcache模塊
[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時定義這個變量的一個拷貝。這個過程稱之為變量輸出。
#export PKG_PATH=ftp://openbsd.informatik.uni-erlangen.de/pub/OpenBSD/4.1/packages/i386
#echo $PKG_PATH