setenv

setenv(改變或增加環境變數),相關函式 getenv,putenv,unsetenv。首先要說明的是,通過此函式並不能添加或修改 shell 進程的環境變數,或者說通過setenv函式設定的環境變數只在本進程,而且是本次執行中有效。參數 value則為變數內容,參數overwrite用來決定是否要改變已存在的環境變數。注釋:stdlib.h 在Linux和Windows里略有不同,比如setenv函式是用在Linux里的,而在Windows里則沒有setenv函式,可用putenv來代替。

簡介

首先要說明的是,通過此函式並不能添加或修改 shell 進程的環境變數,或者說通過setenv函式設定的環境變數只在本進程,而且是本次執行中有效。如果在某一次運行程式時執行了setenv函式,進程終止後再次運行該程式,上次的設定是無效的,上次設定的環境變數是不能讀到的。

參數說明

表頭檔案 #include

定義函式 int setenv(const char *name,const char * value,int overwrite);

函式說明 setenv()用來改變或增加環境變數的內容。參數name為環境變數名稱字元串。參數 value則為變數內容,參數overwrite用來決定是否要改變已存在的環境變數。如果沒有此環境變數則無論overwrite為何值均添加此環境變數。若環境變數存在,當overwrite不為0時,原內容會被改為參數value所指的變數內容;當overwrite為0時,則參數value會被忽略。返回值 執行成功則返回0,有錯誤發生時返回-1。

錯誤代碼ENOMEM記憶體不足,無法配置新的環境變數空間

範例

#include

main()

{char * p;

if((p=getenv(“USER”)))

printf(“USER =%s\n”,p);

setenv(“USER”,”test”,1);

printf(“USER=%s\n”,getenv(“USER”));

unsetenv(“USER”);

printf(“USER=%s\n”,getenv(“USER”));

}

執行 USER = rootUSER = testUSER = (null)

注釋:stdlib.h 在Linux和Windows里略有不同,比如setenv函式是用在Linux里的,而在Windows里則沒有setenv函式,可用putenv來代替。

____________________________________________________

Linux命令:setenv

功能說明:查詢或顯示環境變數。

語法:setenv [變數名稱][變數值]

補充說明:setenv為tsch中查詢或設定環境變數的指令。

英文版本,歡迎翻譯:

ABOUT SETENV

In C shell sets the value of an environment variable.

SYNTAX

setenv [var [word]]

var Variable of the set command. word Set instructions or information of the variable.

EXAMPLES

setenv PATH "/bin:/usr/bin:/usr/sbin" - Sets the environment path to search for files in the /bin, /usr/bin and /usr/sbin directory.

翻譯:

setenv說明:

用於在c shell中設定環境變數的值

用法:

setenv ENVVAR value

其中,ENVVAR為所要設定的環境變數的名,value為所要設定的環境變數的值

例如:

setenv PATH "/bin:/usr/bin:/usr/sbin:"設定環境path的搜尋路徑為/bin,/usr/bin以及/usr/sbin

相關詞條

相關搜尋

熱門詞條

聯絡我們