簡體   English   中英

為什么每次打開終端時都必須輸入 .bashrc 以使別名工作?

[英]Why must I source .bashrc every time I open terminal for aliases to work?

Git 工作正常。 我在 Git 中創建了一個別名,但問題是當我嘗試重新打開終端時,我需要運行. ~/.bashrc . ~/.bashrc每次都在終端中。

每次重新打開終端時不需要提供源的最佳方法是什么?

我做了什么? 我正在嘗試在此文件中添加.bashrc文件的source ,但它是一個只讀文件。 我無法在此配置文件中添加.bashrc文件的source

open /etc/profile

還添加了在配置文件中寫入的權限,仍然無法鏈接源文件。

sudo chmod u+w /etc/profile

輪廓:

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
   eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
   [ -r /etc/bashrc ] && . /etc/bashrc
fi

看起來您的終端模擬器正在將bash作為登錄 shell 啟動。

如果是這種情況,它將讀取/etc/profile進行配置以及以下文件之一(如果存在)(按重要性列出):

  • ~/.bash_profile
  • ~/.bash_login
  • ~/.profile

因此它將忽略您的.bashrc文件。 針對您的情況的正確解決方法是將終端模擬器配置為以交互方式和非登錄方式運行 bash,或者將[ -f "$HOME/.bashrc" ] && source "$HOME/.bashrc"到您的~/.bash_profile [ -f "$HOME/.bashrc" ] && source "$HOME/.bashrc" ~/.bash_profile

是有關根據您正在運行的 shell 類型加載哪些文件的文檔的鏈接

根據@Aserre 的回答,我已按照此步驟解決此問題

操作系統的典型安裝不會為您創建 .bash_profile。 當您想從命令行運行函數時,這是必不可少的。

  1. 啟動終端
  2. 鍵入cd ~/轉到您的主文件夾
  3. 輸入touch .bash_profile來創建你的新文件。
  4. 使用您最喜歡的編輯器編輯 .bash_profile(或者您可以輸入open -e .bash_profile以在 TextEdit 中打開它。
  5. [ -f "$HOME/.bashrc" ] && source "$HOME/.bashrc"保存並關閉

重新啟動終端,它應該可以工作

您應該在.zshrc文件中寫入這一行source .profile 這是因為默認 shell 是zsh 如果您不想執行此解決方案,則可以通過鍵入以下命令chsh -s /bin/bash來更改默認 shell,然后重新啟動您的機器或虛擬機。 那么就不需要源碼了。 我希望這會有所幫助:) 小心

暫無
暫無

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

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