国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Linux系統(tǒng)編程】環(huán)境變量的組織方式

這篇具有很好參考價(jià)值的文章主要介紹了【Linux系統(tǒng)編程】環(huán)境變量的組織方式。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

environ和getenv函數(shù)

????????在Linux中,environ是一個(gè)全局的外部變量,其類型為char**,存儲著系統(tǒng)的環(huán)境變量。除了使用主函數(shù)中的第三個(gè)參數(shù)外,我們也可使用environ函數(shù)直接訪問系統(tǒng)的環(huán)境變量。

????????注意:這里在代碼內(nèi)部使用environ時(shí),需要先定義environ。在系統(tǒng)下的libc中定義的全局變量environ指向環(huán)境變量表,environ沒有包含在任何頭文件中,所以在使用時(shí)要用extern聲明。定義如下:

extern char **environ;

????????getenv是通過指定的環(huán)境變量名稱來獲取環(huán)境變量,在頭文件<stdlib.h>中。

環(huán)境變量表

? ? ? ? 環(huán)境變量表簡稱環(huán)境表,它是一個(gè)存儲環(huán)境變量的數(shù)據(jù)結(jié)構(gòu),類似于一個(gè)數(shù)組,其中每個(gè)元素都是一個(gè)環(huán)境變量,而environ指針指向的就是存放環(huán)境變量的數(shù)據(jù)結(jié)構(gòu),而getenv指向表中指定名稱的環(huán)境變量。

【Linux系統(tǒng)編程】環(huán)境變量的組織方式,linux,運(yùn)維,服務(wù)器

? ? ? ? 下面代碼通過使用environ來獲取系統(tǒng)下的所有環(huán)境變量。

#include <iostream>
#include <unistd.h>
using namespace std;
int main()
{
? ? extern char **environ;
? ? for (int i = 0; environ[i]; i++)
? ? {
? ? ? ? cout << "environ[" << i << "]: " << environ[i] << endl;
? ? }
? ? return 0;
}

? ? ? ? 下面使用getenv獲取表中的指定名稱的環(huán)境變量

[zhujunhao@bogon code]$ cat code.cpp
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
int main()
{
? ? char*s = getenv("PATH");? ?//訪問PATH環(huán)境變量
? ? cout << s << endl;
? ? return 0;
}
[zhujunhao@bogon code]$ g++ -o code.exe code.cpp

[zhujunhao@bogon code]$ ./code.exe
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zhujunhao/.local/bin:/home/zhujunhao/bin
[zhujunhao@bogon code]$ echo $PATH? ?//可看出,代碼輸出的內(nèi)容與之相同
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zhujunhao/.local/bin:/home/zhujunhao/bin

?

環(huán)境變量的存放

????????Linux系統(tǒng)下的環(huán)境變量天然都會(huì)被保存在磁盤的文件中。只有登入系統(tǒng)時(shí),bash/shell進(jìn)程才會(huì)存在,也就是說只有登入系統(tǒng)的時(shí)候,才會(huì)分配bash/shell程序,而環(huán)境變量就在bash/shell的上下文中。當(dāng)開始登入系統(tǒng)時(shí),所有的環(huán)境變量都是從磁盤中的某些腳本或配置文件中來的。因此,每當(dāng)重啟系統(tǒng)時(shí),環(huán)境變量都會(huì)被更新。

? ? ? ? 通常,我們可以使用 set 指令顯示本地定義的shell變量和環(huán)境變量,但要注意的是,本地定義的shell變量不能被子進(jìn)程進(jìn)行下去,它只在本地bash內(nèi)部有效。

? ? ? ? 下面我們來認(rèn)識一下?bash_profile 文件。

????????在Linux系統(tǒng)中,.bash_profile是一個(gè)Shell腳本文件,它被用于在用戶登錄時(shí)設(shè)置用戶的環(huán)境變量和配置選項(xiàng)。它是bash或shell的配置文件之一,通常位于用戶的家目(~/.bash_profile

????????當(dāng)用戶登錄時(shí),bash_profile文件會(huì)被自動(dòng)執(zhí)行,允許用戶設(shè)置環(huán)境變量等。通過編輯bash_profile文件,用戶可以定制自己的shell會(huì)話環(huán)境,以便更方便地使用命令行工具和應(yīng)用程序。下面是代碼演示:

首先,我們要進(jìn)行配置環(huán)境變量

[zhujunhao@bogon ~]$ cat .bash_profile

//下面是系統(tǒng)下的源代碼
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
?? ?. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

//下面是我們設(shè)置的一個(gè)簡單的環(huán)境變量MY

MY=yiyezhiqiu
export MY?
因?yàn)楫?dāng)系統(tǒng)啟動(dòng)時(shí),環(huán)境變量就已執(zhí)行,因此,配置完畢之后要重啟系統(tǒng)才可被運(yùn)行

[zhujunhao@bogon ~]$ echo $MY
yiyezhiqiu
文章來源地址http://www.zghlxwxcb.cn/news/detail-802761.html

到了這里,關(guān)于【Linux系統(tǒng)編程】環(huán)境變量的組織方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Linux從入門到放棄】Linux操作系統(tǒng)環(huán)境變量一文詳解

    【Linux從入門到放棄】Linux操作系統(tǒng)環(huán)境變量一文詳解

    ?????作者: @情話0.0 ??專欄:《Linux從入門到放棄》 ??個(gè)人簡介:一名雙非編程菜鳥,在這里分享自己的編程學(xué)習(xí)筆記,歡迎大家的指正與點(diǎn)贊,謝謝! ??提到環(huán)境變量,大家應(yīng)該都不會(huì)陌生,不管學(xué)習(xí)Java還是Phython都需要去安裝環(huán)境變量,尤其是我自己在做深度學(xué)習(xí)

    2024年02月05日
    瀏覽(23)
  • Linux系統(tǒng)安裝conda,鏡像設(shè)置,環(huán)境變量

    Linux系統(tǒng)安裝conda,鏡像設(shè)置,環(huán)境變量

    1,我們現(xiàn)在學(xué)習(xí)Linux系統(tǒng),首先得有個(gè)服務(wù)器的賬號,這個(gè)要看自己的學(xué)校里面有沒有專門做生信的課題組問問,或者去淘寶買,或者去那個(gè)組學(xué)大講堂公眾號里面有服務(wù)器租借的(沒廣告),租個(gè)好點(diǎn)的服務(wù)器,價(jià)格估計(jì)5000-10000半年不等的價(jià)格,能處理一些轉(zhuǎn)錄組等大數(shù)據(jù)

    2024年02月15日
    瀏覽(19)
  • Linux系統(tǒng)中的配置文件和環(huán)境變量

    Linux系統(tǒng)中,常用的配置文件包括: 用戶級別的配置文件: ~/.bashrc 系統(tǒng)級別的配置文件: /etc/profile 用戶級別的配置文件和系統(tǒng)級別的配置文件在功能和作用上存在一些區(qū)別: 用戶級別的配置文件: 位置:通常存儲在用戶的主目錄中,例如 ~/.bashrc 適用范圍:僅對當(dāng)前用戶

    2024年02月09日
    瀏覽(25)
  • 【Linux操作系統(tǒng)】環(huán)境變量和命令行參數(shù)

    【Linux操作系統(tǒng)】環(huán)境變量和命令行參數(shù)

    環(huán)境變量是有特殊用途的系統(tǒng)變量。 如:我們在編寫C/C++代碼的時(shí)候,在鏈接的時(shí)候,從來不知道我們的所鏈接的動(dòng)態(tài)靜態(tài)庫在哪里,但是照樣可以鏈接成功,生成可執(zhí)行程序,原因就是有相關(guān)環(huán)境變量幫助編譯器進(jìn)行查找。 這里推薦一個(gè)B站迷糊老師的一個(gè)視頻哦:迷糊老

    2024年02月01日
    瀏覽(21)
  • 【Linux取經(jīng)路】解析環(huán)境變量,提升系統(tǒng)控制力

    【Linux取經(jīng)路】解析環(huán)境變量,提升系統(tǒng)控制力

    優(yōu)先級決定了資源分配的先后順序,即誰先訪問,誰后訪問。要注意區(qū)分優(yōu)先級和權(quán)限的概念,權(quán)限決定了能不能做,而優(yōu)先級是在已經(jīng)確定可以做的基礎(chǔ)上,去決定誰先誰后的問題。 因?yàn)樵谙到y(tǒng)中可能存在多個(gè)進(jìn)程,但是只有一個(gè) CPU,這就注定了所有的進(jìn)程是需要去競爭

    2024年02月12日
    瀏覽(27)
  • linux系統(tǒng)查看jdk版本,路徑及配置環(huán)境變量

    linux系統(tǒng)查看jdk版本,路徑及配置環(huán)境變量

    目錄 1、查看jdk版本 2、查看jdk安裝目錄 3、配置jdk環(huán)境變量 4、輸入 i 進(jìn)入編輯模式,到最后一行,添加一下代碼,然后保存退出 5、重新加載配置文件 1、查看jdk版本 2、查看jdk安裝目錄 ? ?或者使用 ?最后一行顯示路徑 3、配置jdk環(huán)境變量 使用命令打開文件 4、輸入 i 進(jìn)入編

    2024年02月13日
    瀏覽(19)
  • 操作系統(tǒng):Linux 環(huán)境變量配置的 6 種方法

    操作系統(tǒng):Linux 環(huán)境變量配置的 6 種方法

    操作系統(tǒng):Linux 環(huán)境變量配置的 6 種方法 linux查看、添加、刪除環(huán)境變量 ------------------------------------------------------------ ? https://blog.csdn.net/mayue_web/article/details/97023615 針對修改的配置文件執(zhí)行: source ~/.bashrc 當(dāng)前終端和新連接的終端自動(dòng)生效。 ????????source ~/.bashrc 針對已

    2024年02月08日
    瀏覽(19)
  • 一文解決Linux系統(tǒng)下安裝并配置Java環(huán)境變量

    jdk下載地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html 下載完成后,將需要安裝的jdk安裝包放到Linux系統(tǒng)指定的文件夾下,并且命令進(jìn)入該文件夾下 在最后添加

    2024年02月07日
    瀏覽(46)
  • Linux 系統(tǒng)編程-開發(fā)環(huán)境(一)

    Linux 系統(tǒng)編程-開發(fā)環(huán)境(一)

    目錄 1 shell 1.1 shell 家族 1.2??bash 1.3 命令和路徑補(bǔ)齊 ? ?? 1.4 歷史記錄 1.5 主鍵盤快捷鍵 ?2 目錄和文件 2.1 類Unix系統(tǒng)目錄結(jié)構(gòu) 2.2 用戶目錄 2.2.1 相對路徑和絕對路徑 2.3 ls 2.4 cd 2.5 which 2.6 pwd 2.7 mkdir 2.8 rmdir ?2.9 touch 2.10 rm rm file ?2.11 mv ?2.12 cp ?2.13 cat 2.14 more 2.15 less 2.16 head ?

    2024年02月16日
    瀏覽(20)
  • Linux系統(tǒng)編程:采用管道的方式實(shí)現(xiàn)進(jìn)程間通信

    Linux系統(tǒng)編程:采用管道的方式實(shí)現(xiàn)進(jìn)程間通信

    目錄 一.?進(jìn)程間通信概述 二.?管道的概念? 三.?通過管道實(shí)現(xiàn)進(jìn)程間通信 3.1?實(shí)現(xiàn)原理 3.2?匿名管道創(chuàng)建系統(tǒng)接口pipe 3.3?管道通信的模擬實(shí)現(xiàn) 3.4?管道通信的訪問控制規(guī)則 3.5?管道通信的特點(diǎn) 四.?通過匿名管道實(shí)現(xiàn)進(jìn)程池 4.1?進(jìn)程池的概念 4.2?進(jìn)程池的模擬實(shí)現(xiàn) 五.?命名

    2024年02月12日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包