为什么Mac source ~/.bash_profile只生效一次(macOS Catalina)
目錄
- Mac環(huán)境變量的設置
- 每次都要執(zhí)行source ~/.bash_profile才有效
- 解決方法(任選一種即可)
- 一. 環(huán)境變量添加到.zshrc
- 二 .zshrc中 添加source ~/.bash_profile
- 三 切換mac的shell
- 是什么原因
Mac環(huán)境變量的設置
開發(fā)中對環(huán)境變量的修改和增加比較普遍,此處做為記錄也供大家參考。
一般mac電腦配置環(huán)境變量的方法(本文主要說明macOS Catalina的配置問題)
按回車輸入密碼后用vi打開用戶目錄下的.bash_profile。
添加需要的變量(這里配置android tools的環(huán)境變量):
這里說明一下,環(huán)境變量的規(guī)則是以英文冒號":"分隔。按 esc 后 :wq退出編輯,使之立刻生效需要 執(zhí)行
source ~/.bash_profile開始輸入我們期望的命令 adb shell,正常。
但是,另外一個終端始終無效,或關閉該終端再打開也無效
每次都要執(zhí)行source ~/.bash_profile才有效
如果您的系統(tǒng)也是macOS Catalina,可以繼續(xù)往下看。
重開終端,再次查看.bash_profile,內容是正確的,再次執(zhí)行source ~/.bash_profile 之后 adb shell又正常了,這樣也太麻煩了,這個問題需要解決:
解決方法(任選一種即可)
一. 環(huán)境變量添加到.zshrc
接著執(zhí)行我們的命令,好的,大功告成。
二 .zshrc中 添加source ~/.bash_profile
添加內容 source ~/.bash_profile 到.zshrc 中
保存退出,執(zhí)行下面命令立即生效
三 切換mac的shell
設置了 .bash_profile的情況下,把shell從zsh 切換為bash,這樣不用每次都source .bash_profile。
chsh -s /bin/bash要切回zsh的話執(zhí)行:
chsh -s /bin/zsh是什么原因
來自Apple官網的說明:點這里查看更多
從 macOS Catalina 版開始,您的 Mac 將使用 zsh 作為默認登錄 Shell 和交互式 Shell。您還可以在較低版本的 macOS 中將 zsh 設置為默認 Shell。
默認情況下,您的 Mac 使用 zsh 或 bash 作為登錄 Shell 和交互式 Shell 的命令行解釋器:
從 macOS Catalina 版開始,zsh (Z shell) 是所有新建用戶帳戶的默認 Shell。
bash 是 macOS Mojave 及更低版本中的默認 Shell。
zsh 與 Bourne Shell (sh) 高度兼容,并且與 bash 基本兼容,但存在一些差別。要進一步了解 zsh 及其全面的命令行完成系統(tǒng),請在“終端”中輸入 man zsh。
也就是說zsh的命令行讀取的path不是從.bash_profile里面讀取的,而是從.zshrc配置文件里面讀取。所以上面幾種辦法都是基于這個原因。
關于mac環(huán)境變量加載順序,可參考這里。
總結
以上是生活随笔為你收集整理的为什么Mac source ~/.bash_profile只生效一次(macOS Catalina)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: microsoft vbscript编译
- 下一篇: python画相关性可视化图_Pytho