linux環境變數相關命令及函式介面

2021-10-04 18:23:36 字數 1877 閱讀 5935

printenv命令:列印所有的環境變數。

env命令:在修改某些環境變數後執行指定的命令。

格式:env [option]… [-] [name=value]… [command [arg]…]

表示可選的選項。所以可以忽略。

env path=/usr/bin perl --version

export命令:修改、新增環境變數。

eg:export path=$path:mypath

使用echo $環境變數來列印單個環境變數。

eg:echo $path

char *getenv(const char *name)描述:獲取名稱為name環境變數的值。

name:指定要獲取的環境變數。

return:返回要獲取環境變數的值。如果沒有定義,則返回null.

int putenv(char *string)描述:新增或者刪除指定的環境變數。

string:如果string的格式為name=value表示新增名稱為name的環境變數。否則刪除所指定的環境變數。

注意:這樣設定的環境變數儲存在string實體中。如果動態的改變此實體,環境變數也動態的改變。同時需要注意環境變數的作用範圍。

return:如果成功返回零。

int setenv(const char *name, const char *value, int overwrite)描述:新增或者修改指定的環境變數。

name:要新增或者修改的環境變數。

value:環境變數的內容。

overwrite:如果不為零,當name在環境變數中已經存在時,會替換。否則不替換。

return:如果成功返回零。

注意:不同於putenv(),它設定的環境變數直接儲存在了環境變數中。所以修改value實體也不會發生變化。

int unsetenv(const char *name)描述:刪除指定的環境變數。

return:成功返回0.

int clearenv (void)描述:刪除所有的環境變數。

return:成功返回0.

char **__environ全域性變數

此全域性變數中儲存這所有的環境變數。它是指向乙個字串陣列。每個字串的格式為name=value.最後乙個字串為null.

需要包含標頭檔案unstd.h下面是通過它列印所有的環境變數

for

(int i =

0; __environ[i]

!=null

; i++

)

可以使用printenv`命令檢視自己系統下相關環境變數的值。下面是常見環境變數的說明。

home:使用者的home目錄路徑。也就是預設工作路徑。

logname:使用者登入名。

path:全域性路徑。系統除了在當前目錄下面尋找需要的檔案外,還會到path中指定的路徑去找。

term:這指定了接收程式輸出終端的型別。在圖形界終端介面下它的值通常是xterm。

lang:設定語言、字元編碼等本地預設屬性。

tz:時間相關的時區設定。

Linux環境變數及source命令

source命令用法 source filename作用 在當前bash環境下讀取並執行filename檔案中的shell命令。工作中經常將要配置的環境變數寫在乙個檔案中,例如你寫個xt300.env,env my envirment echo env test 然後執行命令 source xt30...

關於環境變數的函式及相關命令

基本概念 環境變數一般指在作業系統中用來指定作業系統執行環境的一些引數。通常具有某些特殊用途,在系統中通常具有全域性特性。常見的環境變數 可由父程序傳遞給子程序 path 指定目錄的搜尋路徑 home 指定使用者的主工作目錄 histsize 指儲存歷史命令記錄的條數 shell 當前shell 1...

Linux環境變數相關檔案

執行順序為 etc profile bash profile bash login profile bashrc etc bashrc bash logout 1 etc profile 此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行.並從 etc profile.d目錄的...