2016-10-01 67 views
0

我把一個無效的路徑到我的bashrc現在我的終端不工作。我刪除了我的bash_profile以及我的bashrc,但仍無法使其正常工作。打破我的終端與一個壞的路徑

我在終端使用每一個命令給我的錯誤:

sh: parse_git_branch: command not found

這是我必須在我的bash_profile的git的自動完成。問題出在我用/bin/rm <file>刪除了這些文件後,我無法將這些更改應用於source ~/.bash_profile,因爲它給了我錯誤。我看過this questionthis question,但我仍然沒有運氣。

如何修復我的命令行後,打破這樣的事情?

+0

請查詢你的系統管理員或在[超級用戶](http://superuser.com/tour)詢問。 – Cyrus

+0

你可以打開一個新的終端,或註銷/登錄。或重新啓動。 –

回答

2

您可以在當前會話中使用了一種類似於命令導出正確的路徑:

export PATH=/usr/local/bin:/usr/bin:/bin

使用之後,你應該能夠採購你的.bashrc。

0

您可以隨時更改自己的路權上爲當前shell會話的其餘部分的命令行:PATH="/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin:"

導出路徑將不會解決你的問題。它只會將PATH的值導出到子shell /進程。這隻能實現與從命令行重置/更改PATH變量相同的功能(如上所示),因爲當您在該shell環境中工作時,您的作用域僅限於當前shell進程(及其子進程)命令行)。 如果您打開一個新終端(啓動一個新的登錄shell,這是一個父進程),bash仍然會嘗試從資源文件(.bash_profile和.bashrc),中讀取,該文件不再存在。因此,我們需要能夠擴大我們的範圍,並告訴bash我們希望對所有未來的bashes(shell進程 - 新shell,shell內的shell等)進行更改,以及完成的方式是通過在資源文件中寫入這些語句。

一旦你在那裏設置PATH,每一個shell會話都會產生這些資源(存儲在這些文件中的所有別名,命令,變量和函數),而不管你是否導出它們,因爲每個shell進程在執行任何其他操作之前總是會查詢這些文件(所以它們會有效地搶先導入您試圖導出的文件)。

bash就像任何其他腳本或程序。你拿走了所有的輸入,指針和快捷方式,現在它變得非常愚蠢,所以你必須清楚你所做的每件事,直到你可以教它在哪裏尋找東西(給它一個PATH搜索)並縮短你的談話。

如果你沒有你的.bash_profile的備份,這裏有一個你可以使用:

# This loads in the configuration in .bashrc 
    # Put all configuration in there! 
    if [ -f ~/.bashrc ]; then 
     source ~/.bashrc 
    fi 

而且這裏的.bashrc中,可以讓你開始:

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