linux指令碼檔案中export 變數的作用

2021-03-15 18:18:18 字數 2448 閱讀 7780

1樓:山寨老闆

export 是用來宣告環境變數的,如果輸入export +變數名,就把變數宣告為全域性變數了。可以在任何路徑執行。

2樓:匿名使用者

環境變數是作業系統在每一個程序的記憶體地址空間中放的一系列變數.是一種方便設定一個程序的引數的方法.

程序是作業系統指令的執行單位,要執行任何指令,比如echo,或者一個指令碼檔案,作業系統都會啟動一個新的程序.你的terminal和在裡面執行的bash都是程序.一個bash的指令碼檔案是在bash程序中執行的.

在bash中,設定該程序的環境變數的方式很簡單,在指令碼中用=就可以了,不需要export.你可以在自己的terminal中嘗試

var=myvar

echo $var

程序可以啟動新的程序,新的程序是該程序的子程序.一個直觀的問題就是程序和它的子程序的環境變數是什麼關係.在linux設計中是預設沒有關係。那接著的一個直觀的問題就是我想讓子程序有同樣的環境變數怎麼辦?用export

用了export以後,所有子程序(孫子程序,曾孫子程序,曾曾孫子程序,曾曾曾孫子程序)就都會繼承環境變數,不用反覆重新設了。

在terminal的bash設定中export就是所有在這個terminal中開啟的新程序,也就是terminal的子程序,孫子程序,曾孫子程序,曾曾孫子程序,曾曾曾孫子程序,都能看見這些環境變數。

linux 宣告環境變數:在shell指令碼檔案中用export 宣告的變數,是環境變數嗎???

3樓:匿名使用者

如果在一個shell指令碼程式中定義了一個變數,當該指令碼程式執行時,這個定義的變數只是該指令碼程式內的一個區域性變數,其他的shell不能引用它,要使某個變數的值可以在其他shell中被改變,可以使用export命令對已定義的變數進行輸出。export的效力僅限於該次登陸,重啟後失效。

linux系統中的export命令是怎麼用的啊,還有exportfs是幹什麼用的?

4樓:匿名使用者

exports是設定nfs共享檔案的

linux export命令

功能說明:設定或顯示環境變數。

語 法:export [-fnp][變數名稱]=[變數設定值]

補充說明:在shell中執行程式時,shell會提供一組環境變數。export可新增,修改或刪除環境變數,供後續執行的程式使用。export的效力僅及於該此登入操作

-f 代表[變數名稱]中為函式名稱。

-n 刪除指定的變數。變數實際上並未刪除,只是不會輸出到後續指令的執行環境中。

-p 列出所有的shell賦予程式的環境變數。

一個變數建立時,它不會自動地為在它之後建立的shell程序所知。而命令export可以向後面的shell傳遞變數的值。當一個shell指令碼呼叫並執行時,它不會自動得到原為指令碼(呼叫者)裡定義的變數的訪問權,除非這些變數已經被顯式地設定為可用。

export命令可以用於傳遞一個或多個變數的值到任何後繼指令碼。

登入到系統後,系統將啟動一個使用者shell。在這個shell中,可以使用shell命令或宣告變數,也可以建立並執行shell指令碼程式。執行shell指令碼程式時,系統將建立一個子shell。

此時,系統中將有兩個shell,一個是登入時系統啟動的shell,另一個是系統為執行指令碼程式建立的shell。當一個指令碼程式執行完畢,它的指令碼shell將終止,可以返回到執行該指令碼之前的shell。從這種意義上來說,使用者可以有許多shell,每個shell都是由某個shell(稱為父shell)派生的。

在子shell中定義的變數只在該子shell內有效。如果在一個shell指令碼程式中定義了一個變數,當該指令碼程式執行時,這個定義的變數只是該指令碼程式內的一個區域性變數,其他的shell不能引用它,要使某個變數的值可以在其他shell中被改變,可以使用export命令對已定義的變數進行輸出。

export命令將使系統在建立每一個新的shell時定義這個變數的一個拷貝。這個過程稱之為變數輸出。

#echo $pkg_path 在任何時候建立的變數都只是當前shell的區域性變數,所以不能被shell執行的其他命令或shell程式所利用。 export ,是把你設定的環境變數傳給當前shell的子shell,使其在子shell中有效。

5樓:匿名使用者

export是將一些自己設定的變數匯出到環境中比如設定一個環境變數lm_stat=/usr/bin如果你不export,你沒法用lm_stat,export後才可以使用

exportfs是檢視和匯出本地的共享目錄cat /etc/exports裡面就是你的共享目錄,用exportfs可以檢視

6樓:匿名使用者

export是將區域性變數匯出為全域性或取消設定 用法:exprot [-pn] [變數名[=變數值]]

很多時候都是直接在命令列直接 exprot 變數名

exportfs 可以用來修改已經共享的目錄的共享選項

quickcocos2dxlua指令碼檔案放在哪

如果在windows下 來.linux行不行不知道 自obj io.popen cd 如果不在互動模式bai下,前du面可以新增local path obj read all sub 1,2 path存放當zhi 前路徑obj close 關掉控制代碼dao cocos2d x的lua指令碼載入co...

linux指令碼中的for name in eth是什麼意思

將eth變數來內的每一個word賦給自name變數,然後以此執行for內部的迴圈體。舉例說明 假定如下 eth eth0 eth1 eth2 for name in eth doecho this is name done 執行後的結果就是 this is eth0 this is eth1 thi...

網頁設計中怎樣讓幾個JS指令碼檔案互不干擾,每個JS檔案實現某

網頁設計中讓幾個 baidujs指令碼檔案互不干擾,每個js檔案實現zhi某個功能而不會dao影響專其他,我們是可以屬通過將那些js指令碼都分別寫在不同的js檔案中,然後在通過一個統一的js檔案來調取這些js函式就可以了,然後在html中引入這些檔案就行了,這裡我寫段 doctype html in...