2017-08-04 175 views
-1

設置環境變量在Linux下我如何在Linux下如何永久

我以前export設置ENV變量永久設置新的環境變量和它們的值。但問題在於會話特定。如果我打開新的會話,設置的值將會消失。 預先感謝您

+0

將它們放入/ etc/environ並重新引導。但是,有些服務可能會在* clean *環境中運行。這取決於服務 – hek2mgl

+0

將它設置在bash的'〜/ .bashrc'或zsh的'〜/ .zshrc'中。 – dlmeetei

+0

@dlmeetei這將是特定於shell的。/etc/environ是正確的地方 – hek2mgl

回答

0

將其設置在/etc/environment。在我的Ubuntu安裝中,這是您可以永久設置環境變量的地方。該文件可能會因不同的分佈而有所不同。以下是我的/etc/environment文件的內容。

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

瞭解如何環境變量PATH正在上面設置。

出口命令的說明

export varname使變量varname可從當前shell子shell任何運行,即在其上運行的export命令外殼。任何其他shell,與您當前的shell無關或是父項都不會有此變量。知道這一點,假設你使用的是bash shell,你可以在.bashrc文件中寫出export命令。 .bashrc是每次啓動bash shell時運行的文件,因此您在其中編寫的任何命令都會在任何打開的bash shell中執行。因此,將輸出命令寫入.bashrc文件是另一種選擇。類似的是你正在使用的任何其他shell的過程。例如。對於Z shell,文件是.zshrc。

+0

它的bash。唯一的問題是我沒有訪問任何文件〜/ .bash_profile,.bashrc,/ etc/environment。是否仍然可以使用不依賴於會話的命令設置路徑? –

+0

你如何訪問會話?通過ssh? 此外,更新你的問題與你的這個要求。它將高度影響答案。 –

+0

嗨Sahil,我的要求是我有一個負載生成機最小訪問該文件夾。我想設置環境變量,以便可以參數化測試數據路徑。 –

0

通常的地方是~/.bashrc,假設您使用的是bash,這是大多數發行版中的默認值。用echo $SHELL檢查一下自己。 如果您只想在登錄shell中設置變量(但不在腳本中),則可以使用~/.bash_profile

+0

它的bash。唯一的問題是我沒有訪問任何文件〜/ .bash_profile,.bashrc,/ etc/environment。是否仍然可以使用不依賴於會話的命令設置路徑? –

+0

如果你甚至沒有訪問''HOME''中的文件,你將需要重新設置它們或者包含任何腳本。如果你有''/ myapp /'''可寫的路徑,你可以使用''/ myapp/vars''並在你的腳本中包含'source/myapp/vars''。 (注意變量中的語法錯誤,這些錯誤將包含在腳本中!) – allo

0

由於上面的回答, 設置環境變量取決於您是否要設置爲用戶會話或超級用戶會話。

1)輸入此命令在您選擇的environement:

$ ls -a 

2)你會看到所有的緩存文件以及它們之間: 。在.bashrc

3)在你喜歡的編輯器打開這個文件,例如:

$ nano .bashrc 

4),然後在該文件的personnalized變量的末尾添加如下:

export YOURVARIABLE="/home/"$USER"/YOURPATHFOREXAMPLE" 

5)然後保存並關閉並打開終端,檢查您的變量是否已設置:

$ echo $YOURVARIABLE 
[output ->] /home/the-user-name/YOURPATHFOREXAMPLE