【Linux】環境變數!!!

doctor_xiong發表於2018-01-18

概念:在系統裡面指定執行環境全域性變數。

main函式裡,函式原型int main(int argc,char* argv[],char* envp[]);在這個envp裡面就包含著該程式所需要環境變數。

#include<stdio.h>

int main(int argc,char* argv[],char * envp[])
{
    int i = 0;
    for(;envp[i];i++)
        printf("%s\n",envp[i]);
    return 0;
}

結果
這裡寫圖片描述

在每一個程式的裡面都有一個環境變數表,環境表裡面每個單位都是一個指標,,並且這個表示意NULL結尾的。
這裡寫圖片描述

常見的環境變數:
PPATH:指定命令的搜尋路徑
HOME:指定使用者的主工作目錄
HISTSIZE:儲存歷史命令個數
SHELL:當前使用的shell,一般是bash

檢視環境變數的值:echo $name將name裡面的環境變數的是列印出來

但是在父程式裡面定義的環境變數,在子程式裡面是無法檢視的,相當於在函式裡面定義的區域性變數。但是使用export 【變數名】這樣就可以在子程式裡面檢視父程式裡面定義的環境變數,相當於在函式的外面定義了一個全域性變數,即在父程式和子程式裡面都可以檢視這個環境變數的值。

echo $name : 顯示環境變數的值
export name:設定新的環境變數
env :檢視當前bash裡面的全部環境變數
set :檢視本地所有shell環境變數值
unset name:刪除環境變數
readonly name:設定只讀環境變數

在linux裡面定義環境變數一般全部大寫!!!

相關文章