簡體   English   中英

關於魚中eval $ PATH的錯誤消息

[英]Error Message on eval $PATH in Fish

運行eval $ PATH會產生以下消息:

The file '/usr/local/var/rbenv/shims' is not executable by this user
- (line 1): begin; /usr/local/var/rbenv/shims /usr/local/bin /usr/local/bin /usr/local/bin /usr/bin /bin /usr/sbin /sbin 
                   ^
from sourcing file -
    called on line 60 of file /usr/local/Cellar/fish/HEAD/share/fish/functions/eval.fish    

in function 'eval'
    called on standard input

這似乎並沒有導致rbenv出現任何問題,只是對導致此錯誤消息的原因以及是否有人知道如何解決它感到好奇。

這一切都在OS X El Capitan上,並且由Homebrew安裝了rbenv。

PS:這可能與“ / usr / local / var / rbenv / shims”是目錄而不是文件有關嗎? 如果是這樣,魚為什么會認為它是文件?

eval $$PATH不會執行您認為的操作。 eval通過一個額外的解析周期(引號和轉義處理等)運行其參數,然后嘗試將結果作為命令運行。 您的PATH不會計算出有效的命令-它是外殼程序在其中查找命令的目錄列表。 通常,我希望它會將整個目錄視為一個命令,並會收到錯誤消息,因為它不是有效的命令名稱。 在這種情況下,似乎將PATH中的每個目錄都視為一個單獨的單詞(因此將第一個目錄作為命令,其余的作為該命令的參數)。 您是否將IFS設置為“:”?

無論如何,解決方案很簡單:不要使用eval $PATH 我不確定您希望它做什么,但是無論您需要什么,都需要找到一種不同的方式來做。

暫無
暫無

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

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