[英]Is there anything in Zsh like .bash_profile?
每次打開終端時,我都必須獲取.bash_profile
以啟用$JAVA_HOME
或其他變量。
是的,它被稱為~/.zshenv
。
這是我在~/.zshenv
中設置$JAVA_HOME
的方式:
export JAVA_HOME="$(/usr/libexec/java_home)"
但是請記住,zsh不是bash,所以只是因為每次打開終端時都必須獲取.bash_profile
並不意味着您必須使用 zsh 來執行此操作。 使用 zsh,我只需要在對它進行更改時重新獲取我的~/.zshenv
,然后只針對已經打開的終端:新終端應該已經獲取了我的新的和改進的~/.zshenv
。
筆記
我經常發現它很有幫助,當我試圖確定我應該放置哪些 zsh 啟動文件以查閱zsh 啟動文件時。
可以在此處找到更新版本的啟動文件文檔。
我知道這是一個老問題,但我最近將 MacOs 升級到了 Catalina,它將默認 shell 從 bash 更改為 zsh。
我最終這樣做了:
echo source ~/.bash_profile > ~/.zshenv && source ~/.zshenv
讓 zsh 獲取我原來的 .bash_profile。
最近隨着升級到 macOS Catalina,默認的 shell 改成了 zsh,它使用~/.zshrc
作為資源文件。
我們通常在用戶主目錄中有~/.bash_profile
解決方案是簡單地
vim ~/.bash_profile
打開~/.bash_profile
/.bash_profilevim ~/.zshrc
打開~/.zshrc
/.zshrc~/.bash_profile
的內容復制到~/.zshrc
打開一個新的終端窗口並運行您以前的別名/腳本,它應該可以完美運行。
繼續使用 .bash_profile 的其他簡單替代方法是將此文件添加到 .zshrc 文件中:
使用這個簡單的解決方案,如果您喜歡 zhs,您可以繼續添加您的 .bash_prifile。
當我們啟動 zsh shell 或將其關閉時,會執行五個單獨的配置文件腳本(按下面給出的順序)。
(1) .zshenv
--> 這始終是第一個來源,但可以被其他文件覆蓋
(2).zprofile
--> 這對於來自 ksh 經驗的用戶來說是等價的
(3).zshrc
--> 這用於 zsh 的所有交互式自定義
(4).zlogin
--> 前三個完成后執行
(5).zlogout
--> 這是在我們注銷 zsh shell 時執行的,建議將你的東西放在 .zshenv 或 .zshrc 中
擁有這些文件中的任何一個都不是強制性的。 但如果它在那里,它將按上述順序獲取並執行。
在 Mac Catalina 及以上的 osx 版本中,終端使用 zsh。 有一個系統范圍的配置文件 /etc/zprofile。
貓 /etc/zprofile
# System-wide profile for interactive zsh(1) login shells.
# Setup user specific overrides for this in ~/.zprofile. See zshbuiltins(1)
# and zshoptions(1) for more details.
if [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi
它說,如果你想覆蓋然后創建 ~/.zprofile。
touch ~/.zprofile.
在 Mac Catalina 中,終端使用 zsh。 與其擁有 .bash_profile,不如擁有 .zshenv 並在那里編寫腳本。
每次下次打開終端時,都會執行 .zshenv 中的腳本。
我遇到了這個問題,我遵循了 Zack 和 Luke Schoen 的回答,但我的$PATH
看起來與我在bash中的不同。
這篇文章解釋了不同配置文件的作用: https ://unix.stackexchange.com/questions/71253/what-should-shouldnt-go-in-zshenv-zshrc-zlogin-zprofile-zlogout
我發現將我的.bash_profile
路徑導出拆分為.zprofile
並將我的別名拆分為.zshrc
最適合我想要的。
我發現為什么 Zack 和 Luke Schoen 的回答對我不起作用:
我在.zshenv
中列出的路徑導出首先被執行,然后/usr/libexec/path_helper
被執行,這在/etc/paths
中列出的路徑之前。
我在/etc/zprofile
位置下找到了配置文件。 這將用於zsh
更新:macOS 蒙特雷 12.4
是的 - 對於 Zsh,它是文件: .zshrc
添加你的參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.