shell 为什么每次打开终端时都必须使用.bashrc才能使用别名?

mm5n2pyu  于 2023-02-09  发布在  Shell
关注(0)|答案(4)|浏览(190)

Git工作正常。我在Git中创建了一个别名,但问题是当我试图重新打开终端时,我需要每次在终端中运行. ~/.bashrc
当我重新打开终端时,不需要每次都提供源代码的最佳方法是什么?

**我做了什么?**我试图在此文件中添加.bashrc文件的source,但它是只读文件。我无法在此配置文件中添加.bashrc文件的source

open /etc/profile

在概要文件中添加了写入权限,但仍然无法链接源文件。

sudo chmod u+w /etc/profile

个人资料:

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
   eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
   [ -r /etc/bashrc ] && . /etc/bashrc
fi
ckx4rj1h

ckx4rj1h1#

看起来您的终端模拟器正在将bash作为登录shell启动。
如果是这种情况,它将读取/etc/profile进行配置,以及1个以下文件(如果存在)(按重要性顺序列出):

  • ~/. bash_配置文件
  • ~/. bash登录名
  • ~/.配置文件

因此它将忽略您的.bashrc文件。对于您的情况,正确的修复方法是配置您的终端仿真器以交互方式和非登录方式运行bash,或者在您的~/.bash_profile中添加以下行:
[ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc"
Here是指向文档的链接,该文档说明根据运行的shell类型加载哪些文件

qyswt5oh

qyswt5oh2#

根据@Aserre的回答,我已经按照此步骤解决了此问题
一个典型的操作系统安装不会为你创建一个.bash_profile。当你想从你的命令行运行函数时,这是一个必备的。
1.启动终端
1.键入cd ~/转到您的主文件夹
1.键入touch .bash_profile以创建新文件。
1.使用您最喜欢的编辑器编辑.bash_profile(或者您可以只输入open -e .bash_profile在TextEdit中打开它)。
1.保存并关闭它
重新启动终端,它应该工作

kknvjkwl

kknvjkwl3#

你应该在你的.zshrc文件里写source .profile这一行。这是因为默认的shell是 zsh。如果你不想做这个解决方案,你可以通过输入下面的命令chsh -s /bin/bash来改变默认的shell,然后重新启动你的机器或虚拟机。那么就不需要源代码了。我希望这会有帮助:)小心

xfb7svmp

xfb7svmp4#

如果您使用的是Linux,并且希望设置变量,以保持。请按照以下步骤操作。
1.成为root用户-〉sudo su
1.转到etc文件夹-〉cd /etc
1.用你选择的编辑器打开bashrc文件-〉vi bashrc
1.使用export命令设置变量,如这里所示,我正在设置JAVA_HOME -〉

export JAVA_HOME=pathHere

1.使用命令-〉加载bashrc文件

. bashrc

记住在bashrc前面放点/句号。现在JAVA_HOME应该被永久设置了。谢谢...

相关问题