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