1樓:匿名使用者
若您可以了解環境變數的功能,那也知道 bash 設定該變數的重要性,那您在 bash 內設定與檢視環境變數時候,不就是會用到 getenv() 與 putenv() 呼叫不是呼?
os 對於環境變數的運作設計就是,若是 a process 呼叫執行並建立了 b process,那 b 會有乙份 a 本身環境變數的複製,不過 b 可以依據需求改成自己的專案。那這樣來看好了。那基於這個特點的話,程式若是運作中需要查閱判斷是否有某個環境變數的話,就是需要用到 getenv() 呼叫來取得內容。
來看個例子,linux 系統有個 mutt 為文字模式郵件收發軟體,執行 mutt 若是要寫信的話可以呼叫外部程式來信件內容。該程式執行時就會會透過 getenv() 呼叫,像是:
[copy to clipboard] [code:
getenv("editor");
該程式碼會尋找是否有 editor 環境變數的設定,因為那就是要呼叫的外部郵件程式。所以這樣的變數宣告很重要,不是程式內使用這樣敘述而已:
[copy to clipboard] [code:
char *editor="vim";
這樣的簡單敘述而已,是吧。
那有需求用到 putenv() 呼叫嗎 ? 當然有。比方若是你寫的 c program 要執行 mutt 好了,然後希望 mutt 信件時候可以使用指定的器,那您不就是需要使用如下這類敘述,不是呼 ?
[copy to clipboard] [code:
putenv("editor","vim");
不過您需要注意,雖然os 對於環境變數的運作設計就是 a process 呼叫執行並建立了 b process,那 b 會有乙份 a 本身環境變數的複製,但是您對任何 b 修改的環境變數對於 a 來說都是沒有任何影響。因為那只是複製乙份而已,看起來是繼承,但是所謂繼承複製當然是單方面的。因為自己會遺傳到爸媽的基因,但是自己的基因若是因為某個原因變化了,這個變化是不可能反過來也讓爸媽影響到的。
所以您在 shell 下執行了乙個您自己寫的 c program,該 a process 是無法修改所在 parent process 這個 shell 本身的環境變數。
什麼事位置變數?shell的變數型別有哪些種?
2樓:mono教育
比如要執行的程式是。
1 2 3 a b
上邊的 1 2 3 a b傳遞到指令碼裡就是位置變數 $1 $2 $3 $4 $5
shell的變數基本上分為:全域性變數,本地變數(或叫區域性變數)。
shell是乙個用c語言編寫的程式,它是使用者使用linux的橋梁。shell既是一種命令語言,又是一種程式語言,涵蓋的知識點多且雜,卻是雲計算開發人員必須要掌握的技術之一。接下來就給大家梳理一下shell變數相關的知識。
3樓:老男孩教育
shell變數根據作用域及生命週期可分為:本地變數、環境變數、全域性變數、內建變數。
本地變數。使用者自定義的變數,定義在指令碼或者當前終端中,指令碼執行完畢或終端結束變數失效。
環境變數。定義在使用者家目錄下的。bashrc或。bash profile檔案中,使用者私有變數,只能本使用者使用。當前程序有效,並且能夠被子程序呼叫。
全域性變數。使用export命令將本地變數輸出為當前shell中的環境變數,全域性所有的使用者和程式都能呼叫,且繼承,新建的使用者也預設能呼叫。
內建變數。系統變數:shell本身已經固定好了它的名字和作用。
linux以下命令中哪個表示引用變數a的值
4樓:匿名使用者
$符+變數名。
如a=10echo $a
就輸出了10
linux中宣告變數的問題
5樓:小悠
linux的變數型別有兩種。 本地變數和環境變數(全域性變數) 你可以使用的linux命令有,export和declare 用法: export 變數名=值 例如:
export total=50 declare -x 變數名=值 例如:declare -x total=19 使用set命令可以檢視你系統當前的所有的。
linux下的環境變數是什麼意思?
6樓:在鳴鳳山看月亮的紫藤
給shell以及其他程式使用的一些定義,可部分理解為設定引數。
7樓:網友
環境變數就是系統預定義的引數。其實windows下也有。
例如,在shell中執行命令,你只要打入命令名,不用打路徑。其實是因為系統已經在環境變數中將命令搜尋的路徑全列到了環境變數中,所以才省事。
誰能解釋一下什麼是linux的環境變數?以及功能?
8樓:傑克蕭
環境變數是互動環境(shell)中的變數,可以被在該互動環境(shell)下執行的程序訪問並修改其值。
環境變數在同乙個互動環境下只有乙個例項。不同的互動環境有不同的例項,互不干擾。
其功能是用於影響該環境下程序的行為。
linux系統的預設環境變數放在什麼位置?
9樓:山之立
你可以用export命令檢視和環境變數。
linux下的本地變數是什麼意思啊?
10樓:匿名使用者
本地變數是相對環境變數而言的。
環境變數是在任何地方都可以訪問的變數。
本地變數只有在其所在的指令碼裡才能訪問,比如下面的宣告就是本地變數:
#!/bin/bash
scalar = content'
這樣就生成了乙個本地變數$scalar,這個變數只有在這個指令碼裡才能訪問到,如果你想把它提公升為環境變數,加入如下一行即可:
export scalar
11樓:又入陷阱
簡單點說環境變數時作用在全域性的,也就是不管你怎麼進子shell,也就是改變環境,環境變數都可以獲得賦值。
但是使用者自定義變數(也就是本地變數)只能在當前shell環境下獲得賦值,進入子shell就不能獲得賦值了。
如果要匯出本地變數為環境變數的話使用export
linux環境變數,linux下的環境變數是什麼意思?
你確定你的atd在init.d裡面有嗎?去看看 沒有的話這命令就不好使。linux下的環境變數是什麼意思?給shell以及其他程式使用的一些定義,可部分理解為設定引數。環境變數就是系統預定義的引數。其實windows下也有。例如,在shell中執行命令,你只要打入命令名,不用打路徑。其實是因為系統已...
誰能解釋一下什麼是LINUX的環境變數?以及功能
在linux的環境下,打命令 env你可以看到環境變數。例如 pwd home wang hostname abcd.net user wang machtype i386 redhat linux gnuftp passive 1 mail var spool mail wangbash env ...
什麼是變數,什麼是自變數,什麼是自變數什麼是因變數
h和t都是變數,其中t隨著h的變化而變化。h是自變數,t是因變數。像變化過程中數值不變的叫做常量。 變數和自變數是研究變化問題的情況下提出的兩個概念.舉例說明更容易理解 一支鉛筆0.5元,當買的鉛筆數量不同的情況下,需要花費的錢也不一樣,那麼鉛筆支數和所花費的錢數就是一組變數.自變數一般指主動發生改...