我找到了.bashrc文件,我想知道它的用途/功能。还要如何以及何时使用?

评论

superuser.com/questions/49289/what-is-the-bashrc文件

您将其作为$ bash myFile.bashrc运行。我发现这不见了:)

#1 楼

.bashrc是一个Shell脚本,只要它以交互方式启动,它就会运行。它初始化一个交互式外壳会话。您可以在该文件中放置任何可在命令提示符下键入的命令。放置在.bashrc中的一个常见问题是您希望始终可用的别名。如果您说:

$ bash ; bash ; bash


然后按Ctrl-D 3次,则.bashrc将运行3次。但是,如果您这样说:

$ bash -c exit ; bash -c exit ; bash -c exit


.bashrc根本不会运行,因为.bashrc使Bash调用成为非交互式。从文件运行外壳程序脚本时也是如此。

仅在新登录外壳程序的开头运行-c.bash_profile。 (.profile)您可以选择要在bash -l还是.bashrc中运行命令,具体取决于它是希望运行一次还是针对每个交互式shell启动。 .bash_profile,您要改为在.bashrc中进行PATH调整,因为这些更改通常不是幂等的:交互式子外壳,.bash_profile会再次固定在.bashrc的末尾,从而在您键入错误的命令时为该外壳带来了额外的工作。例如带有:/some/additionPATH

评论


次要问题:与大多数其他shell不同,bash作为登录shell启动时不会自动加载按实例配置文件.bashrc。有时这可能导致意外行为。通常的解决方法是从.profile或.bash_profile中获取.bashrc。

–伊尔马里·卡洛宁(Ilmari Karonen)
14年5月13日在11:14



@IlmariKaronen由于.bashrc不适合其他shell使用,因此最好不要从.profile中获取它(其他非bash shell可能会使用)。

–chepner
2014年5月14日下午2:32

@chepner这就是为什么大多数发行版默认情况下都会在.profile中进行检查的原因,他们在采购.bashrc之前会检查外壳是否具有BASH_VERSION。

–寡核苷酸
20 Sep 23 '13:05

@oligofren我不认为这是要依靠的解决方案,因为默认设置是假设我使用bash而不是其他可能使用.profile的shell。

–chepner
20 Sep 23 '13:08

@chepner不,它不对您的shell承担任何责任,这就是为什么它进行检查以进行特殊处理(如果您应该运行bash)的原因。请参阅以下要点:gist.github.com/fatso83/0621870b4e9c0ef75f938160d9ad8b3e。这是我自己的.profile,可与任何shell一起使用。

–寡核苷酸
20/09/24在14:22

#2 楼

.bashrc文件的目的是提供一个地方,您可以在其中设置变量,函数和别名,定义(PS1)提示以及定义每次打开新终端窗口时要使用的其他设置。

每次打开新的终端,窗口或窗格时,都可以运行它。

最小的超级终端可能具有以下内容: />
这就是您真正要入门的全部信息。


这里是“过大杀手”版本,对有经验的开发人员有用:通常还有很多。
您可以在这里看到我的(带有语法突出显示的图片):

export CLICOLOR=1
export LANG="en_US.UTF-8"
alias cp="cp -i"
alias ls="ls --color=auto"
export PS1="\[3[01;32m\]\u@\h\[3[00m\]:\[3[01;34m\]\w\[3[00m\]$ "
export EDITOR="vim"


说明:

- 1。将我的历史记录文件设置为忽略重复项,并且比默认文件大得多。
-2。 ls的颜色选项取决于您使用的是Linux还是OSX
-3。功能“ md”使用一个命令
-4将其制作并CD进入目录。如果在git repo中找到当前的git分支,然后...
-5。 -9。定义一个很棒的PS1提示,如
-10所示。改进了PS2提示
-11。在命令行上将vi设置为编辑器
-12。将vi设置为默认编辑器
-13。如果存在,请执行我的.bash_aliases文件
-14。如果存在,请执行我的git选项卡完成脚本(用于远程和分支)。
-15。如果存在,请执行自动跳转
= 4
-17,则允许在不键入cd的情况下进行cd'ing。执行bash完成脚本(如果存在的话)
-18。如果有TMUX,请使用
-19。将rvm添加到我的PATH

我已经将此便携式计算机制成了它,使其可以在我的任何Linux或OSX机器上运行而无需自定义-因此,在使用某些功能和其他脚本之前,需要对存在性进行大量测试。

这也使在新计算机上立即使用整个文件变得更容易,而不会出现影响
打开新终端窗口的问题。

提醒-如果您更改.bashrc,请确保启动新的终端窗口以确保它在重新启动之前起作用(最佳实践-更改后立即进行操作)。如果您弄乱了.bashrc并重新启动,则可能无法登录!我个人还在个人计算机上创建了另一个“管理员”用户,这样,在紧急情况(登录失败)中,我可以登录并使用sudo修复其他登录.bashrc文件。

#3 楼

这是一个bash配置文件。

交互式(非登录)shell,然后从以下文件读取配置:


$HOME/.bashrc

对于Login shell,从这些文件中读取配置:



/etc/profile(始终提供)

$HOME/.bash_profile(其余的这些文件依次检查文件,直到找到一个文件,然后再读取其他文件)。
下图显示了如何/何时加载它们的简单图示。
$HOME/.bash_login
$HOME/.profile
br />
我在echo.bashrc中添加了.bash_profile



有关详细信息,请参阅man bash