刚刚安装了Ubuntu 14.04.1 LTS。 根据.profile, # ~/.profile: executed by the command interpreter for login shells. # This file is not read by bash, if ~/.bash_profile or ~/.bash_login exists. 没有〜/ .bash_profile或〜/ .bash_login。 打开终端时,似乎没有源.profile。 为什么在打开终端时没有源.profile? 如果没有提供.profile,为什么会有该文件? 我如何知道/控制打开新终端时的来源? 打开新终端后,是否进行“登录”? 在哪里将$ HOME / bin添加到我的路径?.bashrc?因为.profile具有相同的代码,这会引起问题吗?
这些是~/.profile我的13.10附带的库存内容(已删除注释行): if [ -n "$BASH_VERSION" ]; then if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi 这是从Debian继承的,但是Canonical为什么决定保留它?据我所知,这不是标准的* nix方式,而且我已经看到各种系统都没有发生这种情况,因此我认为它们一定有充分的理由。当运行用户不希望获得~/.bashrc源代码的登录Shell(例如,在ssh进入计算机)时,这可能会导致意外行为。 我能想到的唯一好处是,不会使用户混淆许多启动文件,并允许他们.bashrc单独编辑并可以读取该文件,而不管外壳类型如何。但是,这是一个可疑的好处,因为为登录名和交互式shell设置不同的设置通常很有用,这会阻止您这样做。此外,登录外壳程序通常不在图形环境中运行,这可能会导致错误,警告和问题(哦,天哪!),具体取决于您在这些文件中设置的内容。 那么,为什么Ubuntu会这样做,我想念的是什么?
终端在打开时会显示以下内容: bash: /home/atlas/.bashrc: line 73: syntax error near unexpected token `[' bash: /home/atlas/.bashrc: line 73: `if [ -x /usr/bin/dircolors ] ; then ' 我尝试使用以下方法修复它: cp /ect/skel/.bashrc ~/ 我得到这个: cp: cannot stat `/ect/skel/.bashrc': No such file or directory 我不确定为什么要这样做以及如何解决它。我以前曾在.bashrc文件中乱七八糟,显然我已经弄乱了一些东西。我要做的就是将.bashrc文件还原为默认设置。
我正在尝试将RVM与gnome-terminal集成。 默认情况下,gnome-terminal不会将bash作为登录shell启动。我run command as a login shell按照此答案中的建议启用了有关设置RVM的同一主题,但是执行此.bashrc操作时不会读取文件。 例如,我在中创建一个环境变量.bashrc,然后在启动新的gnome终端时无法读取它。我需要明确运行source .bashrc以读取文件。 这是预期的行为吗?
当bash遇到未知命令(单词?)时,它将执行以下操作: The program 'hello' can be found in the following packages: * hello * hello-debhelper Try: sudo apt-get install <selected package> 我想知道这是如何完成的,因此我可以对其进行编辑或添加一些内容,以便从本国字典中交叉检查未知词,该词具有短语:答复对,然后可以将其发送至输出。 我感到内looking ..但是我尝试挖掘的一些bash指南对此没有任何帮助。也许我在看错地方..任何指针? 是的,我正在这样做,所以每当程序失败时我键入wtf,我都希望向我扔东西……