Linux 为什么在启动到计算机后需要执行source~/.bash_配置文件?

Linux 为什么在启动到计算机后需要执行source~/.bash_配置文件?,linux,bash,octopress,.bash-profile,Linux,Bash,Octopress,.bash Profile,我已经安装了octopress,但要使其运行(在启动计算机之后),我每次都需要执行以下操作: source ~/.bash_profile 除非执行此操作,否则在运行时会出现错误: rake generate 错误: bash: /usr/local/bin/rake: /usr/bin/ruby1.9.1: bad interpreter: No such file or directory 我有Ubuntu12.0LTS,我也经历过这一点,但由于我不知道s

我已经安装了octopress,但要使其运行(在启动计算机之后),我每次都需要执行以下操作:

    source ~/.bash_profile 
除非执行此操作,否则在运行时会出现错误:

    rake generate
错误:

    bash: /usr/local/bin/rake: /usr/bin/ruby1.9.1: bad interpreter: No such file or directory  
我有Ubuntu12.0LTS,我也经历过这一点,但由于我不知道shell配置文件和shell的基本知识,我无法理解答案。请你也给我点化一下

我想到的唯一解决方案似乎是安排一个cron作业重新启动,因此每次我重新启动时,它都会执行一个source~/.bash_配置文件。请建议是否有其他解决方案


谢谢

当您调用shell时,它可能会执行许多配置文件。大体上,它们包含别名(命令的替代名称)、路径调整和变量初始化;在您的情况下,它会提醒shell命令(程序)的位置,否则在PATH环境变量中找不到该命令(程序)


启动登录shell时会调用.bash_profile one,但您可能没有这样做。进入您的主目录(cd~),键入ls-la,您应该会看到一个.bashrc配置文件。当您启动shell时,将调用该命令。尝试使用您选择的文本编辑器打开它,并将您键入的命令添加为.bashrc文件的最后一行。这将使您不再需要以交互方式输入命令,因为启动shell时将调用该命令。

您确定它是~/.bash\u profile吗?因为在你的文本中你写了~/bash_profile(没有点)。这是你默认的shell bash吗?@Jeremy:12.04。默认为bash(别名为sh)。@NikosC。哦,对不起,小错误。是的,这是~/.bash_档案您是如何安装octopress的?我对它不熟悉。ocropress的安装说明是否告诉您向.bash_配置文件添加一些内容?这不会起作用,因为.bash_配置文件源.bashrc。如果您现在从.bashrc中获取.bash_配置文件,您将得到一个无限递归,这将挂起您的登录,并在堆栈空间耗尽时崩溃。它目前运行得非常好。非常感谢。它没有挂起。@Nikos C:当您使用ctrl-alt-t(或从菜单)启动shell时,将调用.bashrc,而不是.bash_login(用于登录shell)。所以这里没有帮助。bash_登录sources.bashrc。我以为你的答案是告诉OP从内部到source.bash_配置文件。bashrc。。。