【发布时间】:2023-03-09 11:33:01
【问题描述】:
我在 .bashrc 上定义了一些别名,我想在 Intellij IDEA 的终端上使用它们。为什么.bashrc 没有来源?
【问题讨论】:
标签: bash intellij-idea
我在 .bashrc 上定义了一些别名,我想在 Intellij IDEA 的终端上使用它们。为什么.bashrc 没有来源?
【问题讨论】:
标签: bash intellij-idea
【讨论】:
Terminal > Shell path 设置调用bash -i(交互式),它将在打开新标签时运行~/.bashrc;如果它调用bash(非交互式),它将运行~/.bash_profile。 在 macOS Catalina 上针对 WebStorm 2020.3.3 进行了检查。
在您的主目录中,将这些行添加到.profile(如果文件不存在则创建该文件),以便获取.bashrc:
if [ "$SHELL" = "/bin/bash" ]; then
. ~/.bashrc
fi
【讨论】:
/bin/bash。我为什么要这么做?
.bashrc 不是来源。
对我来说,换行
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 :)
【讨论】:
nvm 一起使用,并且对于在PATH 中可用的节点,.bashrc 应该在 IDE 之前执行。我改进了这样的解决方案:bash -ic "exec /path/to/webstorm.sh %f" 即处理%f 并使用exec 替换bash。
IntelliJ 也有同样的问题。
通过在setting->Tools->Terminal->Shell path 中设置值/bin/bash --login 解决了这个问题。
/bin/bash --login 强制 bash 读取 ~/.bash_profile。
【讨论】:
sudo echo ". ~/.bashrc" >> /etc/bash.bashrc
【讨论】:
我的设置在 ~/.bash_profile 中。我解决了它:
echo "source ~/.bash_profile" >> .profile
【讨论】:
因为>操作员没有将sudo权限传递给写进程。
我这样做了:
echo ". ~/.bashrc" | sudo tee /etc/bash.bashrc
【讨论】:
我注意到 .bashrc 不是仅在我第一次安装 IntelliJ 并通过 bin/ 中的 idea.sh 脚本直接运行时才获得的。
一旦我通过 Tools -> Create Desktop Entry... 创建桌面条目并从 Ubuntu dash 启动它,.bashrc 的来源就正确了。
【讨论】:
如果您最近从 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
【讨论】:
这些答案都不适合我。什么起作用了
sudo nano /etc/environment
...然后在此处手动添加我的export 和alias 命令以使其成为系统范围。
但要小心,不要弄乱 PATH,否则您将无法重新登录到桌面环境,或出现许多其他问题。
【讨论】:
我遇到了这个问题,因为默认 shell 已更改为 zsh。
我用 echo $SHELL 回显了 shell 名称以查看此内容(感谢 How to get default shell)。
然后我用这个命令把它改回/bin/bash:chsh -s /bin/bash(感谢https://apple.stackexchange.com/a/100476/176809)。
【讨论】:
使用内容创建一个 bash 脚本;
echo "source ~/.bash_profile" >> .profile
然后在 Intellij 中转到首选项/工具/启动任务;
创建一个运行 bash 脚本的运行配置,一切顺利。
【讨论】:
我刚刚重新启动了我的 MAC,它获取了新的东西。
【讨论】: