无法在linux控制台中执行任何基本命令

时间:2012-02-24 19:49:05

标签: linux bash

我知道问题是如何创建的,但实际上并不知道如何恢复服务器命令的执行。

问题是,我在我的Ubuntu服务器中配置了Glassfish的环境变量,我从root修改了.bashrc文件并添加了export子句(带GLASSFISH_HOME变量)和PATH子句(指向$GLASSFISH_HOME/bin)。

我关闭控制台并再次打开它以使更改生效,然后(BAM!)一旦我启动新的控制台会话,然后没有任何基本命令(dirfindnanoifconfig,任何内容)现在都可以使用,我只能使用cd移动目录,我正在尝试再次编辑.bashrc文件以撤消更改但是可以编辑它,没有编辑打开!在命令行中,我只获得-bash: dir: command not found

如果您有任何解决方案,请我知道这似乎微不足道,但我有点失明,无法查看或找到命令/应用程序所在的文件和文件夹。

3 个答案:

答案 0 :(得分:12)

导出二进制路径:

export PATH=$PATH:/bin:/usr/bin

之后,您可以再次操作并撤消更改。

否则只需使用您喜欢的编辑器进行编辑,同时给出编辑器二进制文件的完整路径:

/usr/bin/emacs -nw /root/.bashrc

答案 1 :(得分:4)

您已覆盖了$PATH,而不是附加到.bashrc

export PATH=$GLASSFISH_HOME/bin

或类似,但您需要将当前$PATH附加到其末尾:

export PATH=$GLASSFISH_HOME/bin:$PATH

要在终端中对此进行修改,您必须将/usr/bin附加到编辑器(例如/usr/bin/vim ~/.bashrc),直到您更正问题为止。

您可能希望read more about the $PATH variable

答案 2 :(得分:0)

当您更改环境变量时,可能会删除您的路径;这样可以防止发现大多数命令。

幸运的是,您可以在指定命令时使用完整路径名来解决此问题。

vim不起作用?使用/ usr / bin / vim

ls不起作用?使用/ usr / bin / ls

您要使用的大多数命令都在/ usr / bin中;如果没有找到,你可以检查/ bin或/ usr / sbin

通过访问编辑器,您应该能够修复启动脚本以恢复路径。