題:
“ -bash:ls:找不到命令”
LuxuryMode
2011-08-23 06:14:49 UTC
view on stackexchange narkive permalink

我安裝了OS X Lion(10.7)的最新更新。完成之後,我的終端將無法識別正常命令。我輸入 ls 並得到:

  -bash:ls:找不到命令 

我認為我想嘗試添加usr / bin到我的路徑,但是我找不到.bash_profile來編輯它,因為鍵入 edit .bash_profile 無效。由於我的終端無法識別執行此操作所需的命令,因此我無法將Finder設置為顯示所有文件。

我需要做什麼?

讓我們找到一條路,看看會發生什麼。 `export PATH = / usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / bin:/ usr / X11 / bin`粘貼深色部分(或非常小心地鍵入)-因為有兩個命令失踪-東西重創了你的道路。在做大事情之前,開始備份可能是明智的。
@bmike謝謝!將其添加到.bash_profile中,現在一切正常。必須這樣打開.bash_profile:`/ usr / bin / vi〜/ .bash_profile`以此作為答案,我可以接受!
鏈接到http://superuser.com/questions/573633/bash-profile-not-sourced/583493#comment714563_583493嗎?
九 答案:
bmike
2011-08-23 06:47:07 UTC
view on stackexchange narkive permalink

由於兩個命令缺少“踩踏”路徑的內容。

在進行任何較大的操作之前,請謹慎備份。

Mac OS X 10.7(Lion)上的默認路徑如下所示:

  PATH = / usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / bin:/ usr / X11 / bin  

如果重置路徑通過在shell窗口中鍵入以上內容,然後鍵入 export PATH ,它應該修復該窗口。

因此,您可以從那裡開始,看看還有什麼不對勁,並將其修復到您的啟動點文件或其他已定義的地方。

這種破損幾乎總是需要在點文件中修復的。對於bash,可以通過撤消最近的更改來編輯和修復 .bash_profile 和/或 .bashrc ,只需重新設置所需的$ PATH。通常的錯誤是分配新路徑,而不是在=

右側引用變量的先前值。
對我來說,這提供了一個臨時解決方案。
謝謝!更新`.bash_profile`後`ls`無法工作時,我皺了一下。
是的,@Adrian語法錯誤或空白的PATH可能會引起強烈的焦慮
這提供了一個臨時解決方案。重新啟動CMD後,我必須重做所有步驟
這仍然適用於Mac OS 10.14.3
Kavin Ranawella
2017-07-13 16:36:21 UTC
view on stackexchange narkive permalink

這應該完全永久地解決該問題。

首先,在終端中使用以下命令導出環境路徑。

  export PATH = / usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / bin:/ usr / X11 / b中
 

現在您有了所需的命令。(例如,嘗試 ls 。您將看到該命令正在運行)。但這僅適用於當前會話。如果關閉終端並打開一個新終端,則會遇到上一期。要使此更改永久生效,請使用以下命令,

轉到主目錄

  cd〜
 

在nano / vim中打開.bash_profile文件(我在這裡使用nano)

  nano .bash_profile
 

這將打開nano編輯器。在新行中,粘貼以下內容;

  export PATH = / usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / bin:/ usr / X11 / bin:$ PATH
 

按'control'+'o'保存(WriteOut),按'control'+'x'退出nano。

全部完成!現在嘗試命令。

Chris Page
2011-08-26 04:33:20 UTC
view on stackexchange narkive permalink

在我看來, / etc / profile 不是在shell啟動時運行的。這是負責初始化PATH的全局啟動文件。使用以下命令檢查 / etc / profile 是否存在並且可讀且可執行:

 。 / etc / profile  

如果不存在,則需要從備份或安裝了Lion的另一台計算機上還原它,或者再次安裝Lion。如果它存在但不可執行,請嘗試使用“磁盤工具”修復磁盤權限。

如果它確實存在並且是可執行的(並且包含一些代碼),則可能它本來應該沒有運行或您的啟動腳本可能會以某種方式覆蓋它。解決方法是,嘗試放入。 / etc / profile 放在〜/ .bash_profile 的開頭,以確保其已運行。如果仍然遇到問題,請在運行它後添加 echo $ PATH ,以查看PATH是否已正確初始化。如果是的話,則腳本中的某些內容正在更改它。

這是 / etc / profile 的默認內容:

 #系統範圍sh(1)if。-profile [-x / usr / libexec / path_helper];然後eval`/ usr / libexec / path_helper -s`fiif [“ $ {BASH-no}”!=“ no”];然後[-r / etc / bashrc] &&。 / etc / bashrcfi  

path_helper 構造默認的PATH。您可以嘗試運行

 未設置PATH; / usr / libexec / path_helper -s  

以查看其產生的結果。

無論如何,如果問題不在您的啟動腳本中,請聯繫Apple支持 http://www.apple.com/support/contact/或在 https://bugreport.apple.com/報告錯誤,讓Apple知道有問題。

`未設置路徑; / usr / libexec / path_helper -s向我展示了未包含在我的/ etc / profile中的PATH。有什麼建議麼?
正在運行`。 / etc / profile`暫時解決了該問題。我已經粘貼到`〜/ .bash_profile`的頂部,但是似乎也沒有運行。
在bash手冊頁上查看啟動文件的完整列表以及搜索順序。例如,如果您有登錄文件,則它優先於配置文件。檢查其他啟動文件。
Cedric H.
2011-08-23 18:27:15 UTC
view on stackexchange narkive permalink

要檢查路徑是否確實存在問題, / bin / ls 的結果是什麼?

如果可行,則應該將路徑還原到 / usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / bin:/ usr / X11 / bin ,例如,您可以使用 VI ,其路徑是(在我的Mac上) / usr / bin / vi

AshlinJP
2019-09-19 22:18:18 UTC
view on stackexchange narkive permalink

我想分享導致我犯此錯誤的錯誤-至少就我而言,

當我在〜/ .bash_profile 中添加新的 PATH 時,我忘記在路徑的末尾添加:$ PATH 我剛剛補充。

我使用的臨時修復程序(終端中的以下命令)已經掌握了,該修復程序已經指出可以返回bash_profile,因為我一開始無法使用vi命令來打開它。

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

一進去,我就糾正了我的錯誤。

(負數據很重要!)

shahid610169
2016-01-14 12:03:56 UTC
view on stackexchange narkive permalink

發生這種情況時,我試圖將我的Maven路徑設置為環境變量。因此,我只是將.profile和.bash_profile文件移到了垃圾桶,然後再次嘗試,就可以了。

Ashish Vitthal Dalvi
2018-05-04 15:04:42 UTC
view on stackexchange narkive permalink

重置終端即可。它將重置您的基本配置。

重置終端。在頂部導航中,轉到Shell >>重置。

enter image description here

重置終端如何解決“ bash”問題?
Nauman
2019-01-04 22:07:13 UTC
view on stackexchange narkive permalink

看起來您的PATH變量已損壞。檢查您是否有機會在腳本中修改PATH變量,或者只需通過說echo $ PATH來檢查PATH,就可以確保是否沒有損壞。

pravin
2016-04-29 22:33:08 UTC
view on stackexchange narkive permalink

您可以按以下方式導出路徑:

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

歡迎詢問不同!這個問題已經有一個可以接受的答案,您的回答與可以接受的答案沒有實質性的不同。請參閱以下有關如何提供良好答案的常見問題解答:http://apple.stackexchange.com/help/how-to-answer


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