【问题标题】:.bashrc not sourced on Intellij IDEA's terminal.bashrc 不是来自 Intellij IDEA 的终端
【发布时间】:2023-03-09 11:33:01
【问题描述】:

我在 .bashrc 上定义了一些别名,我想在 Intellij IDEA 的终端上使用它们。为什么.bashrc 没有来源?

【问题讨论】:

标签: bash intellij-idea


【解决方案1】:

.bashrc 仅在 Bash 以“交互”模式运行时加载。出于某种原因,IntelliJ 默认以非交互模式运行 Bash,但这很容易更改。打开 IntelliJ 设置窗口,然后打开“工具 -> 终端”,将 -i 添加到 Shell 路径。

(注意,在这个截图中,我还改了默认shell,因为我是Mac,更新比较困难/bin/bash。除非你安装了不同版本的Bash,否则不要盲目复制这种变化!)

【讨论】:

  • 这是最佳解决方案,必须标记为最佳答案!
  • 因此,如果您的Terminal > Shell path 设置调用bash -i(交互式),它将在打开新标签时运行~/.bashrc;如果它调用bash(非交互式),它将运行~/.bash_profile在 macOS Catalina 上针对 WebStorm 2020.3.3 进行了检查。
【解决方案2】:

在您的主目录中,将这些行添加到.profile(如果文件不存在则创建该文件),以便获取.bashrc

if [ "$SHELL" = "/bin/bash" ]; then
    . ~/.bashrc
fi   

【讨论】:

  • Kenavoz,我找到了这个解决方案。我问这个问题是为了找出为什么它不是默认源以及为什么你的解决方案有效。谢谢
  • 您是否在 Intellij IDEA 的终端设置中定义了 bash 路径?
  • 默认是/bin/bash。我为什么要这么做?
  • 我不知道默认值。 Bash 不是通用的,它可以解释为什么 .bashrc 不是来源。
  • 有道理!大概就是这样。
【解决方案3】:

对我来说,换行

Exec="/opt/idea-IU-183.4284.148/bin/idea.sh" %f

Exec=bash -ic "/opt/idea-IU-183.4284.148/bin/idea.sh" %f 

工作。我们利用交互式 shell 加载的 hack .bashrc :)

【讨论】:

  • 虽然该解决方案是高度特定于安装的,但我发现它在另一种情况下很有用。我将 node.js 与nvm 一起使用,并且对于在PATH 中可用的节点,.bashrc 应该在 IDE 之前执行。我改进了这样的解决方案:bash -ic "exec /path/to/webstorm.sh %f" 即处理%f 并使用exec 替换bash。
  • 此解决方案适用于 Ubuntu 20.04。谢谢!
  • 在 Kubuntu 20.04 上也适用于我。在委派给 shell exec 的 maven 构建期间,通过 NPM 安装的 NPM 不可用。
【解决方案4】:

在 Mac OSX Catalina 上,"/bin/bash"~/.zprofile 为我工作:

更新:

Apple 已将默认 shell 更改为 zsh. 因此您必须重命名配置文件。 .bashrc 现在是 .zshrc.bash_profile 现在是 .zprofile

【讨论】:

  • 对我来说重要的信息是,ZSH 现在是 Mac OS Catalina 中的新标准。
【解决方案5】:

IntelliJ 也有同样的问题。 通过在setting->Tools->Terminal->Shell path 中设置值/bin/bash --login 解决了这个问题。

/bin/bash --login 强制 bash 读取 ~/.bash_profile

https://intellij-support.jetbrains.com/hc/en-us/community/posts/205437150-Terminal-not-sourcing-bash-profile?page=1#community_comment_360000167679

【讨论】:

  • 这是唯一对我有用的解决方案。但是我没有 ~/.bash_profile
【解决方案6】:
sudo echo ". ~/.bashrc" >> /etc/bash.bashrc

【讨论】:

  • @AlexanderSuraphel 据我了解,idea 仅加载默认的 bash 配置文件。在它的末尾添加您的家庭 .bashrc 的源代码,它将默认加载。顺便说一句,第一个答案对我不起作用。
  • 即使这可能有效,但我不会这样做。我经常更改我的 .bashrc -文件。 .bashrc 文件包含单个用户的配置,而 /etc/bash.bashrc 用于使用系统的每个用户。建议的命令只是将我的整个配置添加到系统配置中,然后将其应用于使用系统的每个用户。显然 Intellij IDEA 会选择系统文件,而不是针对个人用户的文件。
【解决方案7】:

我的设置在 ~/.bash_profile 中。我解决了它:

echo "source ~/.bash_profile" >> .profile

【讨论】:

    【解决方案8】:

    因为>操作员没有将sudo权限传递给写进程。

    我这样做了:

    echo ". ~/.bashrc" | sudo tee /etc/bash.bashrc
    

    【讨论】:

      【解决方案9】:

      我注意到 .bashrc 不是仅在我第一次安装 IntelliJ 并通过 bin/ 中的 idea.sh 脚本直接运行时才获得的。

      一旦我通过 Tools -> Create Desktop Entry... 创建桌面条目并从 Ubuntu dash 启动它,.bashrc 的来源就正确了。

      【讨论】:

        【解决方案10】:

        如果您最近从 bash 迁移到 zsh,请转到 ~/.zshrc 文件并在那里更新 $PATH 变量:

        .zshrc 中的默认值:

        # If you come from bash you might have to change your $PATH.
        # export PATH=$HOME/bin:/usr/local/bin:$PATH
        

        更改为 .bashrc 中设置的相同 PATH 变量并取消注释

        # If you come from bash you might have to change your $PATH.
        export PATH=$HOME/bin:/usr/local/bin:<my-bash-paths>:$PATH
        

        【讨论】:

          【解决方案11】:

          这些答案都不适合我。什么起作用了

          sudo nano /etc/environment
          

          ...然后在此处手动添加我的exportalias 命令以使其成为系统范围。

          但要小心,不要弄乱 PATH,否则您将无法重新登录到桌面环境,或出现许多其他问题。

          【讨论】:

            【解决方案12】:

            我遇到了这个问题,因为默认 shell 已更改为 zsh

            我用 echo $SHELL 回显了 shell 名称以查看此内容(感谢 How to get default shell)。

            然后我用这个命令把它改回/bin/bashchsh -s /bin/bash(感谢https://apple.stackexchange.com/a/100476/176809)。

            【讨论】:

              【解决方案13】:

              使用内容创建一个 bash 脚本;

              echo "source ~/.bash_profile" >> .profile
              

              然后在 Intellij 中转到首选项/工具/启动任务;

              创建一个运行 bash 脚本的运行配置,一切顺利。

              【讨论】:

                【解决方案14】:

                我刚刚重新启动了我的 MAC,它获取了新的东西。

                【讨论】:

                  猜你喜欢
                  • 2022-09-28
                  • 2014-10-17
                  • 2019-04-09
                  • 1970-01-01
                  • 2016-09-20
                  • 1970-01-01
                  • 1970-01-01
                  • 2023-03-28
                  • 1970-01-01
                  相关资源
                  最近更新 更多