一、環境變數引數:
在linux/windows作業系統中, 每個程序都有其各自的環境變數設定。 預設情況下, 當乙個程序被建立時,除了建立過程中的明確更改外,
它繼承了其父程序的絕大部分環境變數資訊。 擴充套件的c語言main函式可以傳遞三個引數,除了argc和argv引數外,還能接受乙個char**型別
的envp引數。envp指向乙個字串陣列,該陣列儲存了當前程序具體的環境變數的內容,envp的最後乙個元素指向null,此為envp結束的
識別符號。如下**可以列印環境變數:
#include
int main(
int argc,
char
** argv,
char
** envp)
return0;
}環境變數的格式為:環境變數名=環境變數值
當父程序啟動乙個子程序時,子程序會繼承父程序的換了變數資訊。在linux shell下,通過export可以給shell新增乙個環境變數,此後
通過shell啟動的子程序都會擁有這個環境變數。除了通過export新增環境變數以外,我們還可以通過函式getenv、putenv、setenv等對環境變數進行
操作。python的os模組提供建立子程序以及修改環境變數的函式,其中os.system函式可以建立乙個子程序,且子程序會繼承父程序的環境變數引數資訊;os.putenv可以修改程序的環境變數引數資訊。
二、關於linux
linux shell中,可以使用$()或者兩個反引號(`)來包裹一條shell命令,並返回shell命令的執行結果。比如執行
export testenv2=`python -c "print 'a'*20"`
命令後,再執行./env可以看到有乙個名為testenv2的環境變數,其值為20個a。
三、getenv函式以乙個字串首位址為引數,這個字串為環境變數名。返回值在eax中,存的內容為環境變數引數字串首位址。
tips:
python輸出不可列印字元時,可以使用「\x」,如print '\x0a\x0d\x0a\x0d'。
python修改環境變數(heetian=aaa): os
.putenv
("heetian"
,"aaa")
int execve(const char * filename,char * const argv[ ],char * const envp[ ]);可以設定執行乙個程序的引數與環境變數
#include
main()
;char * envp[ ]=;
execve("/bin/ls",argv,envp);
}
Linux之環境變數
按環境變數的生存週期來劃分可分為兩類 1 永久生效的環境變數 環境變數是定義在配置檔案中的,修改時需要修改配置檔案。1 在 etc profile檔案中使用export定義環境變數,對所有使用者都生效 2 在某使用者的家目錄的.bash profile檔案中使用export定義環境變數,對該使用者生...
linux環境程式設計 環境變數 列印環境變數
在shell程式設計主題中,我們已經大致的介紹過 環境變數和本地變數啦 我們今天來具體的介紹介紹,那環境變數到底是什麼呢?是我 一.環境變數含義 特徵 環境變數是指 作業系統中用來指定作業系統執行環境的一下引數 1 特徵 字串 有統一的格式 名 值 值 值用來描述程序的環境資訊 2 使用形式 與命令...
學習linux之環境變數
前言 環境變數 要是你學過c語言,你可以以這樣的思想去理解,變數,變數,是乙個變化的量,用乙個簡單的 字眼 來代替另外乙個比較複雜或者是容易變動的資料 出自鳥哥的私房菜 根據需求,改變這個變數的值。正解 變數就是一組文字或者符號 這些文字和符號都是你自己定義的 來代替一些設定或者是一串保留的資料。例...