每次打开终端时,是什么原因导致“bash:/bin:是一个目录”?

每次打开终端时,是什么原因导致“bash:/bin:是一个目录”?

当我打开终端(++)时,这是我在 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) 后面放了一个空格,这可能会产生这样的错误。

这只是一个例子,并不一定是最有可能的例子。

相关内容