【问题标题】:Is there an equivalent to the Linux .bash_profile for Mac OS?是否有与 Mac OS 的 Linux .bash_profile 等效的版本?
【发布时间】:2017-06-23 11:03:18
【问题描述】:

this one 之类的答案表明,在 Mac 上,.bash_profile 会在每次打开新的终端窗口时运行。

是否有一个仅在 Terminal.app 开始运行时才运行的 Mac OS 的 shell 配置文件,而不是为每个新的终端窗口运行?

【问题讨论】:

  • 没有。终端模拟器为每个窗口启动一个登录 shell 的原因是终端模拟器本身不是从 bash 登录会话启动的。
  • @chepner 并非如此 - 例如,请参阅 here 以获得解释。如果模拟器都为每个窗口启动了一个登录 shell,那么至少在 Linux 机器上,.bash_profile.bashrc 没有理由使用不同的文件。
  • 我不确定这与我写的内容有何矛盾。这只是解释了为什么使用.bash_profile 而不是.bashrc;我正在解释为什么首先运行登录 shell 对 Mac OS X 模拟器有意义。

标签: bash macos terminal .bash-profile


【解决方案1】:

是否有一个仅在 Terminal.app 开始运行时才运行的 Mac OS 的 shell 配置文件,而不是为每个新的终端窗口运行?

没有,也没有必要。


在 Linux 中,GUI 前端充当sh 登录shell,执行/etc/profile~/.profile。因此,在该会话的终端模拟器中运行的任何 shell 都将继承生成的环境。

在 MacOS 中,GUI 前端不这样做。因此,作为补偿,Terminal.app 默认设置为在其中运行一个 shell 作为登录 shell,在必要的环境中创建自己的“登录会话”。

因此,无需在 Teminal.app 启动时单独运行任何内容。

【讨论】:

    猜你喜欢
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 2019-12-30
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多