簡體   English   中英

如何永久刪除魚$ PATH的路徑?

[英]How to remove permanently a path from the fish $PATH?

這個問題已經被提出,並在這里回答: https//superuser.com/a/940041/293429

但是,提供的解決方案:執行set -e PATH[<index-of-the-path-to-be-removed]僅適用於正在運行的實例,並且無法普遍有效。

執行該命令后,如果執行echo $PATH ,則會再次發生先前刪除的路徑。

完全重置路徑的一種方法是執行: set -U fish_user_paths ,但我不清楚它的作用。

真正的訣竅是找出如何刪除已手動添加的路徑並使其全局可用 - 不僅僅是當前實例?

有兩種方法可以做到這一點,哪一種有效取決於路徑如何進入$ PATH。

可以通過例如set PATH $PATH /some/dir將目錄添加到$ PATH。 至少在默認情況下,PATH是一個全局變量,這意味着它是每個會話。 這意味着從$ PATH中更改一些內容,要么將其從添加它的位置刪除(因為它繼承了它可能在fish之外),或者將set -e調用放在〜/ .config / fish / config.fish中它會在每次開始時執行。

還有$ fish_user_paths,它是一個通用變量(意味着它在fish會話中攜帶相同的值並在它們之間同步)。 在啟動時以及修改fish_user_paths時,fish會將其添加到$ PATH。 如果在此處添加了違規目錄,則執行set -e fish_user_paths[index]一次(例如,在交互式會話中)。

set -e fish_user_paths將刪除整個變量(雖然set -U fish_user_paths會清除它),這也可以工作,但也會刪除所有其他路徑

暫無
暫無

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

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