Bash

bashrc 與 bash_profile 的功能有何不同?

  • November 7, 2022

由於 IntelliJ 不想送出我的程式碼,我一直在失去理智。我已經投入export GPG_TTY=$(tty)了 my.bash_profile而不是 my .bashrc; echoing$GPG_TTY以正確的路徑響應,但我仍然不斷收到gpg: failed to sign the data錯誤消息。

據我所知,.bash_profile當 Bash 作為互動式登錄 shell 呼叫時讀取並執行,而.bashrc為互動式非登錄 shell 執行;$PATH因此變數應該進入.bash_profile…?或者,至少,我是這麼認為的。我想知道兩者之間的功能區別是什麼:為什麼它在我的個人資料中不起作用,但在 rc 中起作用?

一個問題的解決方法:把 in 放進export var.bashrc,然後呼叫.bashrcfrom .bash_profile

是的,區別在於登錄與非登錄。當bash您登錄時,將處於登錄模式,bash例如通過ssh或在非 gui 機器上。但是一旦您登錄,所有新的 bash 實例都將以非登錄模式啟動。

如果您有 GUI 桌面,您將登錄 WM 而不是bash. 所以你永遠不會有bash登錄模式(除非你專門用一個--login選項來呼叫它)。因此,即使.bash_profile在帶有 GUI 的工作站上也毫無意義。

但是您仍然可以擁有它,以防您通過 登錄到該機器使用者ssh,或者您的 WM 中斷並且您需要啟動恢復程序。

當然,官方文件是必須閱讀的: https ://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html#Bash-Startup-Files

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