当我打开终端(++)时,这是我在 Ubuntu 12.04 上看到的初始Ctrl屏幕:AltT
也就是说终端上的文字是:
bash: /bin: Is a directory
chase@chase-desktop:~$ gedit ~/.bashrc
chase@chase-desktop:~$ source ~/.bashrc
bash: /bin: Is a directory
chase@chase-desktop:~$
为什么会出现这种情况?
在此之前,我曾在终端上工作并编辑过.bashrc
很多次,但我没有收到这些消息。
答案1
显然,您对的一项修改.bashrc
引入了一个错误,该错误将/bin
目录视为其他内容(例如,尝试将其作为可执行文件运行,从中读取数据或将数据作为文件写入其中等)。由于.bashrc
在交互式 shell 启动时运行,因此始终会出现错误消息。
通过查看对 的修改,您也许能够自己识别错误.bashrc
。
(否则,要确定具体的问题,就需要查看.bashrc
文件的内容。您可以将其全部内容到剪贴板并粘贴到你的问题中,在你的问题中选择它,然后使用 将其格式化为代码Ctrl+K。如果你已经创建了这个文件,那么很多比通常更长,可能太长而无法完整地回答您的问题。在这种情况下,您可以将其发布在http://paste.ubuntu.com并编辑您的问题以包含指向帖子的链接。)
一种可能性是,你可能在以 开头的路径中引入了空格/bin
。例如,在默认.bashrc
文件的开头附近有这样的代码:
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
如果您不小心在/bin
(in SHELL=/bin/sh
) 后面放了一个空格,这可能会产生这样的错误。
这只是一个例子,并不一定是最有可能的例子。