題:
我通過編輯〜/ .bash_profile破壞了PATH,Bash無法識別大多數命令
Koray Tugay
2015-06-22 19:59:44 UTC
view on stackexchange narkive permalink
在.bash_profile中,我不小心將路徑設置為:
  PATH =“〜/ Tools / apache-maven-3.3.3 / bin”  

現在默認路徑消失了。終端中的任何內容均不再有效:

  Korays-MacBook-Pro:〜koraytugay $ ls-bash:ls:命令未找到Korays-MacBook-Pro:〜koraytugay $ mkdir測試-bash:mkdir:命令找不到 

我在Finder中看不到隱藏文件,因此也無法從Finder修改.bash_profile。

如何解決這種情況?

這在使用BSD的系統上可能不起作用:嘗試使用PATH = $(getconf PATH)恢復默認路徑,否則執行PATH = / bin:/ usr / bin
實際上,“ getconf PATH”建議確實可以正常工作,至少在10.10上有效。
由於PATH被破壞,因此glenn的建議將與PATH = $(/ usr / bin / getconf PATH)一起使用。
六 答案:
mmmmmm
2015-06-22 20:05:19 UTC
view on stackexchange narkive permalink

最簡單的方法是從備份中恢復,例如從Time Machine中恢復。
但是,如果最後一次備份足夠長,那麼您還需要保留其他更改,則可以編輯.bash_profile

在終端中

在終端中,您可以使用編輯器的完整路徑(/ usr / bin / emacs / usr / bin / vi或/ usr / bin / nano)編輯〜/ .bash_profile

例如

  / usr / bin / nano〜/ .bash_profile  

或者也可以使用默認的文本編輯器(默認為TextEdit),通過:

  / usr / bin / open〜/ .bash_profile  

在GUI中-來自Dock或Finder

,但是您也可以通過File-> Open從TextEdit(或其他GUI編輯器)執行此操作,然後轉到您的主目錄。根據您是否已將Finder設置為顯示所有文件或不顯示隱藏文件(默認),您將在列表中看到.bash_profile,也可以按⌘CMD kbd> + ⇧SHIFT kbd> + 。 kbd>可以在“打開/保存”對話框中顯示隱藏的文件。 (快捷方式來自此 answer

無法自己解決所描述問題的用戶可能最好使用`nano`而不是`emacs` /`vi`來編輯〜/ .bash_profile。
dan
2016-09-01 04:26:42 UTC
view on stackexchange narkive permalink

帶回最小的路徑

輸入以下命令以重置最小路徑:

  PATH = / bin:/ usr / bin
 

修復〜/ .bash_profile

使用您喜歡的文本編輯器 vi emacs 編輯您的〜/ .bash_profile TextEdit 。 總是喜歡相對的PATH構造:

  PATH = $ {PATH}:... my_personal_added_pathes ...
導出路徑
 

測試

在像許多初學者一樣重新啟動會話之前, 發現他們不能再啟動外殼了。測試您的〜/ .bash_profile :打開另一個 Terminal 窗口,並檢查其是否正常運行:

 。〜/ .bash_profile
ls
正常運行時間
日期
...
 
無需“導出”最小的“ PATH”。當前shell啟動的任何進程都將繼承最小的PATH。不過,我會在外殼配置文件中使用`export PATH`。
對!我很習慣在需要測試shell腳本的環境中以這種方式鍵入它。
Yongsheng Yu
2019-03-04 19:37:43 UTC
view on stackexchange narkive permalink

我遇到了這個錯誤,這使我花了整整一個下午才能克服。 ls,git,mkdir等。bash命令變得無效並報告錯誤:“-bash:xx:找不到文件或目錄”,因為我在安裝zsh時修改了.bash_profile。 輸入以下命令以還原您的〜/ .bash_profile

  1. 在Mac終端中,輸入:

      export PATH = / bin:/ usr / local / sbin:/ usr / local / bin:/ sbin:/ bin:/ usr / sbin:/ usr / bin
     
  2. 您可以臨時使用bash命令,輸入:

      vim〜/ .bash_profile
     
  3. 通過修改恢復PATH參數

      export PATH = / bin:/ usr / local / sbin:/ usr / local / bin:/ sbin:/ bin:/ usr / sbin:/ usr / bin
     
  4. 保存vim並退出,然後輸入:

     源〜/ .bash_profile
     
  5. ol>

    好的,我的計算機又可以正常工作了!

可能值得補充的是,在第3步中需要注意不要破壞文件中的其他內容。
.bash_profile被我的不正確命令破壞了,除了空的“ export PATH =”之外,什麼也沒有,所以這是我必須重新備份Mac的唯一方法
fkaufusi
2020-08-13 21:56:01 UTC
view on stackexchange narkive permalink

這是因為您覆蓋了現有的系統PATH。

您可以通過在每行前面添加“ $ PATH”來解決此問題。

示例:

  PATH = $ PATH:/ my / path / here
PATH = $ PATH:/ my / other / path / here
導出路徑
 
Josh
2018-07-12 23:35:28 UTC
view on stackexchange narkive permalink
  1. 通過運行/ usr / bin / vim〜/ .bash_profile打開bash_profile。(vim〜/ .bash_profile將不再起作用,因為路徑不正確。)
  2. 擺脫剛才添加的路徑,這使所有事情搞砸了。
  3. 退出並重新啟動終端,以便源〜/ .bash_profile自動運行。(由於路徑不正確,它再次無法按原樣工作)。
  4. ol>
LexS
2015-06-23 20:48:26 UTC
view on stackexchange narkive permalink

打開您的.bash_profile,使用錯誤命令轉到該行,並在其前面添加#作為該行的第一個字符。重新啟動(確定)。

他如何打開他的.bash_profile?


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...