Path

如何在沒有終端訪問權限的情況下重置 $PATH?

  • April 17, 2019

我在我的 CentOS 6.6 VM 上安裝 cpanm 並嘗試更改 $PATH 以便我可以執行它。

然而,不是打字,

echo 'export PATH="$HOME/perl5/bin:$PATH"' >> ~/.bash_profile

我打了

echo 'export PATH="$HOME/perl5/bin:%PATH"' >> ~/.bash_profile

我似乎已經覆蓋了 $PATH 因為我可以執行 cpanm 但沒有別的。沒有 cat,沒有 vim,也沒有非內置命令。

我在某處讀到重新啟動將重置 $PATH 所以我嘗試了。當我嘗試登錄 GNOME 登錄頁面時,作業系統會立即重新啟動並返回登錄頁面。所以我什至無法訪問終端來更改設置。

發生了什麼,我該如何解決這種情況?

如您所知,該$PATH變數告訴您的 shell 它應該在哪些目錄中搜尋您輸入的任何(非內置)命令。這樣,您不必/usr/bin/vim每次都鍵入(→ 方便),第三方腳本可以直接執行bash,而無需知道您的特定 Linux/UNIX 發行版是否將其完全放入/bin/bash/usr/bin/bash或其他位置(→ 互操作性)。

當你想執行不在你$PATH/usr/bin/vim.


至於 GNOME 拒絕啟動:只需切換到基於文本的控制台(例如Ctrl++ AltF2,使用您的正常使用者名和密碼登錄,然後/usr/bin/vim ~/.bash_profile從那裡登錄。

哦,我可能應該提一下如何從那裡返回……

您的圖形登錄管理器通常會在 上執行tty7,您可以使用Ctrl++切換到AltF7

引用自:https://unix.stackexchange.com/questions/317004