中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

自用電腦做網(wǎng)站百度seo優(yōu)化服務(wù)項目

自用電腦做網(wǎng)站,百度seo優(yōu)化服務(wù)項目,彈幕網(wǎng)站如何做,榆林網(wǎng)站制作前言:在結(jié)束完上一篇的命令行參數(shù)時,我們簡單的了解了一下Linux中的環(huán)境變量PATH,而環(huán)境變量不只有PATH,關(guān)于更多環(huán)境變量的知識我們將在本篇展開! 本篇主要內(nèi)容: 常見的環(huán)境變量 獲取環(huán)境變量的三種方式 本…

前言:在結(jié)束完上一篇的命令行參數(shù)時,我們簡單的了解了一下Linux中的環(huán)境變量PATH,而環(huán)境變量不只有PATH,關(guān)于更多環(huán)境變量的知識我們將在本篇展開!


在這里插入圖片描述


本篇主要內(nèi)容:
常見的環(huán)境變量
獲取環(huán)境變量的三種方式
本地變量與環(huán)境變量
環(huán)境變量的配置文件
內(nèi)建命令與常規(guī)命令

在這里插入圖片描述


環(huán)境變量

  • 1. 初識環(huán)境變量
  • 2. 獲取環(huán)境變量的方法
    • 2.1 方法一:getenv
    • 2.2 方法二:通過main函數(shù)
    • 2.3 方法三:全局變量environ
  • 3. 環(huán)境變量的配置文件
  • 4. 本地變量與環(huán)境變量
  • 5. 環(huán)境變量的全局性
  • 6. 內(nèi)建命令與常規(guī)命令
  • 7. 總結(jié)

1. 初識環(huán)境變量

首先,我們先來了解一下什么是環(huán)境變量!

基本概念:

  • 環(huán)境變量(environment variables)一般是指在操作系統(tǒng)中用來指定操作系統(tǒng)運行環(huán)境的一些參數(shù)
  • 我們編寫代碼在鏈接的時候,從來不知道我們的所鏈接的動態(tài)靜態(tài)庫在哪里,但是照樣可以鏈接成功,生成可執(zhí)行程序,原因就是有相關(guān)環(huán)境變量幫助編譯器進行查找。
  • 環(huán)境變量通常具有某些特殊用途,還有在系統(tǒng)當(dāng)中通常具有全局特性

而我們介紹幾個比較常見的環(huán)境變量

常見環(huán)境變量:

  • PATH : 指定命令的搜索路徑

  • HOME : 指定用戶的主工作目錄(即用戶登陸到Linux系統(tǒng)中時,默認的目錄)

  • PWD : 記錄當(dāng)前路徑,pwd就是調(diào)用了PWD環(huán)境變量

拓展:我們在登錄xshell的時候系統(tǒng)其實會做以下操作:

  • 輸入用戶名,密碼
  • 認證
  • 形成環(huán)境變量
  • 根據(jù)用戶名,初始化HOME=/root,HOME=/home/…
  • cd $HOME

在Linux中環(huán)境變量有很多,我們可以使用指令來查看所有環(huán)境變量
指令:env

在這里插入圖片描述
系統(tǒng)中會存在大量的環(huán)境變量,每一環(huán)境變量都有自己的用途來完成特定的功能!

2. 獲取環(huán)境變量的方法

在Linux我們有很多種方法能夠過去環(huán)境變量,這里我們簡單介紹三種!

2.1 方法一:getenv

其實在Linux中我們有直接獲取的函數(shù):getenv()

在這里插入圖片描述

我們來簡單操作一遍:

  1 #include<stdio.h>2 #include<stdlib.h>3                                                                                                                                                                                        4 int main()5 {6     printf("PATH: %s\n",getenv("PATH"));7     return 0;8 }

在這里插入圖片描述
這是最簡單的一種獲取環(huán)境變量的方式,讓我們繼續(xù)來介紹幾種!


2.2 方法二:通過main函數(shù)

在我們查看環(huán)境變量時,其實他也是一個類似于命令行參數(shù)表的
在這里插入圖片描述

系統(tǒng)在進行創(chuàng)建啟動程序時,可以給進程(main)提供兩張表:

  • 命令行參數(shù)表
  • 環(huán)境變量表

而這個環(huán)境變量表也是可以通過main函數(shù)來獲取的

    1 #include<stdio.h>2 #include<stdlib.h>3 4 int main(int argc, char *argv[], char *env[])5 {6     int i = 0;7     for(i = 0; env[i]; i++)8     {9         printf("env[%d]: %s\n",i, env[i]);10     }11     return 0;12 } 

在這里插入圖片描述

2.3 方法三:全局變量environ

最后要介紹的一種方法是全局變量environ

  1 #include<stdio.h>2 #include<stdlib.h>3 #include<sys/types.h>4 #include<unistd.h>5 6 int main()7 {8     extern char **environ;9     int i = 0;10     for(i = 0; environ[i]; i++)11     {12         printf("%d: %s\n",i, environ[i]);                                                                                                                                              13     }14     return 0;15 }

在這里插入圖片描述


3. 環(huán)境變量的配置文件

命令行啟動的進程都是shell/bash的子進程,子進程的命令行參數(shù)和環(huán)境變量是父進程bash給我們傳遞的!

當(dāng)我們將PATH環(huán)境變量置為空串時:在這里插入圖片描述
我們發(fā)現(xiàn)有很多的指令都用不了了,但當(dāng)我們重新登錄之后,又可以恢復(fù)正常!

其實:我們直接更改的是bash進程內(nèi)部的環(huán)境變量信息!每一次重新登陸,都會給我們形成新的bash解釋器并且新的bash解釋器自動從讀取形成自己的環(huán)境變量表信息!

而它的實質(zhì)其實是每次重新登陸都會讀取系統(tǒng)自帶的配置文件.bash_profile,配置文件中的內(nèi)容,為我們bash進程形成一張環(huán)境變量表信息!
在這里插入圖片描述
如果我們想讓我們的環(huán)境變量能夠保存可以直接在配置文件中更改,下面會講!


4. 本地變量與環(huán)境變量

Linux中,我們可以在bash中直接定義環(huán)境變量
指令:變量名=內(nèi)容

在這里插入圖片描述
但是當(dāng)我們在環(huán)境變量表里獲取我們自定義的變量時,是獲取不了的。使用env也獲取不了剛才定義的環(huán)境變量

實際上: 我們用戶自己定義的環(huán)境變量是本地變量

在這里插入圖片描述

如果想要我們定義的環(huán)境變量我們該怎么辦,這時我們需要一條新的指令
指令:export 變量名

有了export我們就可以將我們自定義的環(huán)境變量添加到bash上下文的環(huán)境變量中
在這里插入圖片描述
除了這種寫法,我們還可以直接省略成一步。
在這里插入圖片描述


我們用export指令可以將自己寫的環(huán)境變量添加到父進程bash的進程上下文中,但是如果我們重新登錄后,之前導(dǎo)入的變量是否還會存在?

  • 答案很明顯,我們變量之會被添加到內(nèi)存中,并不會改變配置文件,所以重新登錄后并不會被保存
  • 因此如果我們想讓我們的環(huán)境變量能夠保存可以直接在配置文件中更改

在這里插入圖片描述

在這里插入圖片描述


5. 環(huán)境變量的全局性

環(huán)境變量的全局性能夠被所有進程獲取

讓我們先來看看下面這段代碼:

  1 #include<stdio.h>2 #include<stdlib.h>3 #include<sys/types.h>4 #include<unistd.h>5 6 int main()7 {8     pid_t id = fork();9     if(id == 0)10     {11         // 子進程12         extern char **environ;13         int i = 0;14         for(i = 0; environ[i]; i++)15         {16             printf("%d: %s\n", i, environ[i]);17         }18     }19     sleep(4);                                                                                                                                                                          20     return 0;21 }

我們在程序中直接創(chuàng)建子進程,然后讓父進程什么也不做,來測試一下子進程能否獲取父進程的父進程bash的環(huán)境變量?
在這里插入圖片描述
那我們自定義的本地變量能不能被子進程繼承呢?

OUR_ENV=2004printf("OUR_ENV: %s\n",getenv("OUR_ENV")); 

在這里插入圖片描述

在了解完環(huán)境變量的全局性時,我們現(xiàn)在再來看看本地變量和環(huán)境變量的區(qū)別:

  • 本地變量只在bash進程內(nèi)部有效,不會被子進程繼承下去
  • 環(huán)境變量通過讓所有的子進程繼承的方式,實現(xiàn)自身的全局性!

6. 內(nèi)建命令與常規(guī)命令

我們在之前就提到過,bash中的指令可以直接使用,不用加./是因為存在環(huán)境變量PATH,所以我PATH置空后,這些命令就會失效
在這里插入圖片描述
但是我們置空PATH后,pwd依然可以正常使用,這是為什么呢?到了這里我們有得引出新的概念:

Linux的命令分類:

  • 常規(guī)命令,shell fork讓子進程成執(zhí)行的
  • 內(nèi)建命令,shell命令行的一個函數(shù),當(dāng)然可以直接讀取shell內(nèi)部定義的本地變量!

我們雖然讓PATH掛掉了,但是我們并沒有讓shell掛掉,因此shell內(nèi)部定義的變量我們依然可以正常使用

注意:echo也是一個內(nèi)建命令

7. 總結(jié)

本篇我們了解環(huán)境變量,讓我們來回顧一下和環(huán)境變量相關(guān)的命令:

  • echo: 顯示某個環(huán)境變量值
  • export: 設(shè)置一個新的環(huán)境變量
  • env: 顯示所有環(huán)境變量
  • unset: 清除環(huán)境變量
  • set: 顯示本地定義的shell變量和環(huán)境變量

環(huán)境變量的學(xué)習(xí)重在理解,細節(jié)比較多,而且有很多新概念,所以認真,細心的學(xué)習(xí)環(huán)境變量是很重要的。

謝謝大家支持本篇到這里就結(jié)束了,讓我們期待下一篇的進程地址空間
在這里插入圖片描述

http://www.risenshineclean.com/news/2932.html

相關(guān)文章:

  • 怎么做網(wǎng)站的導(dǎo)航條下載百度語音導(dǎo)航地圖安裝
  • 做網(wǎng)站開發(fā)的女生多嗎百度推廣競價是什么意思
  • 做網(wǎng)站的要多少錢怎樣推廣app
  • wordpress 標(biāo)簽 函數(shù)廣州優(yōu)化營商環(huán)境條例
  • 外貿(mào)做雙語網(wǎng)站好還是單語網(wǎng)站seo搜索引擎優(yōu)化課后答案
  • 好網(wǎng)站建設(shè)公司的網(wǎng)站響應(yīng)式模版移動優(yōu)化
  • bootstrap網(wǎng)站模版臺州關(guān)鍵詞優(yōu)化報價
  • 開封市住房和城鄉(xiāng)建設(shè)局網(wǎng)站做百度線上推廣
  • wordpress 復(fù)制網(wǎng)站競價推廣網(wǎng)絡(luò)推廣運營
  • 汕頭網(wǎng)站制作電話網(wǎng)頁設(shè)計案例
  • 優(yōu)化大師好用嗎武漢網(wǎng)站seo推廣
  • 青島網(wǎng)站排名上海百網(wǎng)優(yōu)seo優(yōu)化公司
  • 網(wǎng)站后臺傳照片 c windows temp 拒絕訪問無錫百度信息流
  • 做現(xiàn)貨黃金網(wǎng)站體育熱點新聞
  • 網(wǎng)站圖片優(yōu)化怎么推廣自己的店鋪
  • wordpress最新版下載2022網(wǎng)站seo
  • 鄭州企業(yè)網(wǎng)站價格百度廣告搜索推廣
  • 做網(wǎng)站需要幾個服務(wù)器網(wǎng)絡(luò)營銷自學(xué)網(wǎng)站
  • 優(yōu)化的網(wǎng)站做域名跳轉(zhuǎn)最新經(jīng)濟新聞
  • 英山縣住房和城鄉(xiāng)建設(shè)局網(wǎng)站搜索推廣開戶
  • wordpress分類目錄下文章過多_添加文章目錄導(dǎo)航關(guān)鍵詞優(yōu)化排名軟件s
  • 網(wǎng)站關(guān)鍵詞在哪里設(shè)置給公司做網(wǎng)站要多少錢
  • 用ih5做微網(wǎng)站平臺推廣費用
  • 微網(wǎng)站制作價格頁面設(shè)計
  • 手機網(wǎng)站開發(fā)平臺互聯(lián)網(wǎng)營銷怎么賺錢
  • 徐州中小企業(yè)網(wǎng)站制作中國局勢最新消息今天
  • 馬鞍山網(wǎng)站建設(shè) 明達百度收錄網(wǎng)站鏈接入口
  • 自己做的網(wǎng)站算廣告嗎公司網(wǎng)站域名續(xù)費一年多少錢
  • 做美工哪個網(wǎng)站靠譜開封網(wǎng)站優(yōu)化公司
  • 網(wǎng)站網(wǎng)頁優(yōu)化怎么做上海推廣系統(tǒng)