Yuv*_*val 96 terminal bash osx-snow-leopard .bash-profile osx-lion
我想在我的雪豹机器上安装 rvm。
它说我需要在我的.bashrc
文件中添加一行(我正在使用 bash)但是我的.bashrc
文件在哪里?
Ste*_*ski 82
关于.bashrc
上面的问题:
在大多数系统上,~/.bashrc
仅在启动交互式非登录shell 时使用。但是,当您启动一个新 shell 时,它通常是一个交互式登录shell。由于这是一个登录shell,因此.bashrc
被忽略。为了使非登录 shell 和登录 shell 之间的环境保持一致,您必须.bashrc
从您的.profile
或您的.bash_profile
.
作为交互式登录 shell 调用,或使用 --login
当 Bash 作为交互式登录 shell 或作为带有 --login 选项的非交互式 shell 调用时,它首先从文件 /etc/profile 读取并执行命令(如果该文件存在)。读取该文件后,它会按顺序查找 ~/.bash_profile、~/.bash_login 和 ~/.profile,然后从第一个存在且可读的命令中读取和执行命令。
作为交互式非登录 shell 调用
当一个不是登录 shell 的交互式 shell 启动时,Bash 从 ~/.bashrc 读取并执行命令(如果该文件存在)。
因此,通常,您的 ~/.bash_profile 包含该行
Run Code Online (Sandbox Code Playgroud)if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
在任何特定于登录的初始化之后(或之前)。
在我的 Mac (Running Leopard) 上,没有一行可以获取~/.bashrc
. 我不得不自己添加这个功能。
在某些系统和其他操作系统上,.bashrc
来自全局/etc/profile
或/etc/bash_profile
,或使用来自/etc/skel
.
老实说,社区.bashrc
并.bash_profile
不太了解和之间的区别。当许多开发人员说“将此添加到您的 .bashrc”时,他们真正的意思是“将此添加到您的 .bash_profile”。他们希望将功能添加到您的登录shell(即.bash_profile
),而不是您的非登录shell。实际上,这通常无关紧要,放置配置.bashrc
是可以接受的。
Yuv*_*val 64
所以,事实证明,在Mac OS X雪豹以及Mac OS X Lion中,这是加载正在调用该文件.profile
,而不是.bashrc
。
您想要做的是在其中创建一个文件~/.profile
并将其命名为 .profile (如果它尚不存在)。
把你需要用每个 bash 实例加载的任何信息放在那里(谢谢,thepurplepixel)。
几个边注:
-a
作为参数,如下所示:ls -a
~
符号代表/Users/YourUserName
YourUserName 是您用户名的简称。编辑:Chris Page 指出(正确地)您在 .profile 文件中放置的任何内容都将适用于您正在使用的任何 shell(即 zhs、bash 等)。如果您希望内容仅影响 bash shell,请将内容放在.bash_profile
文件中而不是.profile
文件中。