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

2021-05-27 20:32:33 字數 2448 閱讀 9920

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 可以用來修改已經共享的目錄的共享選項

如何檢視mysql資料庫中的指令碼檔案

obj.style.display none function closebox intervalid window.setinterval openbox,10 如何執行一個mysql的sql指令碼檔案 ubuntu 怎麼檢視mysql資料庫檔案 如何檢視mysql資料庫的日誌檔案 mysql 如...

在linu中怎麼執行指令碼函式,在linux中怎麼執行指令碼函式

首先指令碼需要有執行許可權 chmod u x file.sh執行指令碼有三種方dao法 1.file.sh 特點 開啟1653bash子程序來版執行,也就是開權啟額外的程序來進行,不影響原程序的變數 配置等 2.bash file.sh 特點 和.file.sh相同 3.source file.s...

linux下讓文字檔案怎麼樣直接執行 例如test 其檔案內容為ls al後用chmod 775 test

首先修改檔案許可權,使其可執行 chmod x test test 如果需要直接使用test命令執行,修改path的值,在後面新增test檔案所在的目錄 path path test檔案所在的目錄 echo path 檢視path值看是否包含test檔案所在目錄上述方法只適用於這一次會話,如果希望在...