.bashrc 不應該在我每次登入時執行嗎?

.bashrc 不應該在我每次登入時執行嗎?

對於 Ubuntu 來說還是個新手,所以如果我用詞奇怪的話請原諒...我真正想做的就是將我的 ls 命令更改為ls --color=always -ragX

解決了這個問題... Alias 會做得很好。現在,為了每次登入時都執行該程式(從 Putty 到命令列的 SSH),我.bashrc在主目錄中建立並輸入

alias ls='ls --color=always -ragX'

儲存、退出並返回

打字的vi

看起來.bashrc文件沒有運行?怎麼辦?

答案1

https://www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files

當 Bash 作為互動式登入shell,或作為具有 --login 選項的非互動式 shell,它首先從檔案中讀取並執行命令/etc/profile(如果該檔案存在)。讀取該檔案後,它會按順序查找~/.bash_profile~/.bash_login、 和~/.profile,並從第一個存在且可讀的檔案中讀取並執行命令。啟動 shell 時可以使用 --noprofile 選項來禁止此行為。

注意,上面沒有提到~/.bashrc

互動的外殼就是不是登入shell 啟動後,Bash 會讀取並執行來自 的命令~/.bashrc(如果該檔案存在)。這可以透過使用 --norc 選項來禁止。 --rcfile 檔案選項將強制 Bash 從檔案而不是 ~/.bashrc 讀取並執行命令。

檢查終端應用程式的首選項,看看它是否啟動登入 shell。

或者,您可以將其添加到您的~/.bash_profile

[[ -f ~/.bashrc ]] && . ~/.bashrc

答案2

有幾點要注意:

  1. .bashrc 檔案不會“運行”,因此如果您查看進程列表,您將不會在任何地方看到它,這很好。

  2. bash 在啟動時會讀取 bashrc 文件,因此,如果您對 bashrc 檔案進行更改,它們直到下次執行 bash 時才會生效。當您測試對 bashrc 檔案的編輯時,只需再次執行 bash 即可輕鬆查看變更(例如,開啟終端,然後鍵入「bash」)。當您登出 Ubuntu 然後重新登入時,這些變更也會生效(鎖定畫面或進入待機狀態不起作用,但登出或重新啟動將會起作用)。

  3. 您的 .bashrc 檔案必須位於您的主目錄中。您可以透過編輯文件來驗證這一點,vi ~/.bashrc而不僅僅是vi .bashrc

答案3

正如 muru 已經說過的那樣,預設(首次登入後)應該在您的主目錄 /home/youloginname 中有一個 .bashrc

若要保護現有的 bashrc,請使用下列命令建立副本。

cp ~/.bashrc ~/mybashrc.backup

之後,您可以恢復預設的 .bashrc ,為此,請先刪除現有的 .bashrc ,然後從系統範圍的 bashrc 複製它。如果尚未完成,請為檔案設定正確的權限。

rm ~/.bashrc
cat /etc/bash.bashrc > ~/.bashrc
chmod 644 ~/.bashrc

之後,對您家中的 .bashrc 檔案進行更改。完成後,您無需登出或登錄,甚至無需重新啟動。只需使用以下命令重新載入 bashrc

source ~/.bashrc

這樣應該就可以了......

答案4

在 Ubuntu 中,bash 登入的工作方式與其他發行版相同。

一旦你在 .bashrc 中加入了別名,就像你使用的那樣:

alias ls='ls --color=always -ragX'

要讓 ls 在每次登入時自動執行,只需將其新增至.bashrc檔案的最後一行即可。

ls如果您在登入時沒有看到或的輸出,則您的文件ls --color=always -ragX中可能存在錯誤。.bashrc

相關內容