-bash: sudo: 没有那个文件或目录

5
每次打开终端,我总是遇到同样的错误。
-bash: export: `/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/usr/local/hadoop/bin': not a valid identifier

每当运行命令行时,终端会抛出错误,例如

-bash: sudo: No such file or directory

我甚至无法通过gedit ~/.bashrc编辑~/.bashrc,我认为这可能是问题所在。但是echo $PATH返回一个空行。
顺便说一下,所有这些都发生在我的个人帐户下。有一个专门用于运行hadoop的用户账户,我创建它时特意这样做,并且事实上没有任何故障。
如果有人能告诉我这里发生了什么事情,我真的很感激,这让我感到沮丧了一个星期左右。谢谢您提前。
编辑:
事实证明,在我创建第二个账户(用于hadoop)之前,我修改了它的bashrc文件,在文件末尾,这是我完全忘记的。因此,它注定会遇到麻烦。再次非常感谢你们帮助我,提醒我检查bashrc文件,显然还有如何在这种情况下运行命令行。

似乎你在尝试导出$PATH的那一行有语法错误(我最好的猜测是空格)。你能展示一下那一行吗?至于编辑,使用编辑器的完整路径仍然能够起作用,例如/usr/bin/gedit ~/.bashrc - Biffen
请显示bashrc文件的内容。 - 123
非常感谢大家的帮助,问题已经解决。 - James Wong
1个回答

5

运行以下代码:

/bin/bash --noprofile --norc

然后您应该有一个足够温和的bash提示符,可以在不经常出现错误的情况下使用。
现在使用/bin/mv ~/.bashrc ~/.bashrc-old来摆脱可能引起问题的.bashrc文件。
然后使用/bin/cp /etc/skel/.bashrc ~/为自己获取一个新的.bashrc
或者,您可以尝试这个方法,它可能适用于您现有的.bashrc,但是有点靠运气。
/bin/sed -i.bak 's/export PATH /export PATH=/' ~/.bashrc

这将把行export PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/usr/local/hadoop/bin替换为相同的内容,只是用=代替空格,这似乎是问题的根源。

非常感谢!这真是太有帮助了。问题已经解决。 - James Wong

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接