簡體   English   中英

解釋將$ HOME / .rbenv / bin添加到$ PATH所需的代碼的不同部分

[英]Explain the different parts of the code needed to add $HOME/.rbenv/bin to your $PATH

我知道代碼正在嘗試使$ PATH中的$ HOME / .rbenv / bin中的可執行文件可用,以便可以從命令行執行它,但我不知道代碼是如何執行的。 代碼如下所示:

echo'export PATH =“ $ HOME / .rbenv / bin:$ PATH”'>> $ HOME / .bashrc。

我知道在bashrc文件的末尾附加了一些內容,並且我知道export用於將環境變量導出到新的shell中,但是我在這里看不到任何新的shell。 而且我已經看到回聲以下列方式使用:a = 5; 回聲$ a,但我不知道為什么你在這里需要它是什么

PATH =“ $ HOME / .rbenv / bin:$ PATH”

在做。 “ PATH”代表什么。 它是沒有$的變量,並且是'bin:$ PATH'嗎?

在bash(和大多數其他shell)中,您分配的變量沒有$ ,因此PATH=something將變量PATH分配給字符串"something"

在Unix / Linux中, PATH是包含由冒號分隔的文件夾的列表的字符串變量( : )。 例如,在我的筆記本電腦上,這是我的PATH

> echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin

這意味着可以在任何位置訪問這些文件夾中的任何可執行文件,而無需鍵入完整路徑。 通常,您會在.bashrc文件中將內容添加到PATH中,以便在您的shell啟動時添加它們。 如果您使用which命令,您將看到命令所在的位置,它將位於以下文件夾之一中:

> which rm
/bin/rm

要添加新的文件夾到PATH ,你重新分配PATH成為新文件夾的字符串,然后由一個冒號和以前的值PATH

在您的示例中,您將$HOME/.rbenv/binPATH的開頭。 $HOME將擴展到您的主目錄。

為了更好地理解這一點,我們可以執行以下操作:

 > echo $PATH               
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
 > export PATH="$HOME/.rbenv/bin:$PATH"
 > echo $PATH                          
/Users/javanut13/.rbenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin

如您所見, rbenv文件夾已添加到PATH變量的前面。

export變量放入當前外殼程序的環境中,這意味着在該外殼程序中啟動的其他命令(子進程)也將獲得此更改 例如,如果您不export ,然后運行使用ruby的bash腳本,則它將失敗,因為它的路徑中沒有~/.rbenv/bin文件夾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM