如何在 Ubuntu 14.04 上删除 PATH 变量?

如何在 Ubuntu 14.04 上删除 PATH 变量?

我已经export PATH="~/.composer/vendor/bin/lumen"在导出之后.bashrc命令不起作用, 但是如果在终端中输入命令则起作用,我只希望在终端中输入命令时与屏幕截图完全相同。我该如何解决这个问题?.bash_profilelumenRasel Khan:~$ lumen lumen: command not found~/.composer/vendor/bin/lumenlumen

查看屏幕截图 在此处输入图片描述

答案1

仅取消设置 PATH 并不能解决您的问题,因为您仍然没有包含必要系统目录的 PATH。设置自己的 PATH 时,大多数情况下,您需要将新条目附加到旧 PATH 变量中,而不是像您所做的那样将其完全替换。

通过键入以下内容将 PATH 变量恢复为系统默认值

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

然后编辑 .bashrc 和 .bash_profile 以获得正确的条目,如下所示

export PATH="$PATH:~/.composer/vendor/bin"

请注意,变量设置为以现有的 $PATH 开头。这样,您的 PATH 中仍将保留所有原始系统目录,而您添加的内容将位于末尾。另请注意,我已删除从示例末尾删除 lumen,因为 lumen 显然是您要执行的二进制文件的名称,并且您的 PATH 应该仅包含目录包含二进制文件,而不是二进制文件本身。

答案2

执行此命令以获取系统默认值:

grep _PATH /etc/login.defs 

答案3

PATH 存储了终端查找应用程序/脚本等的所有位置...如果您将 PATH 设置为某些“不友好”的目录,系统将无法找到 /bin/sudo 和其他目录。您必须输入整个路径,如 /bin/sudo。解决此问题的最佳方法是打开 bash_profile 并插入以下行:export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games 我认为更改配置文件将在下次重新启动后立即生效,因此请执行此操作,然后使用该命令export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games为当前会话修复它。

“Protip :D :D”如果你想在目录“/home/username/foo/bin”中检查你自己的程序,只需将此方法添加到你的 PATH 中,你将能够通过其名称来调用存储在那里的程序

希望能帮助到你 :)

答案4

无法找到该命令,因为 PATH 环境变量中不包含“/bin”。

此错误意味着您使用上面添加的 PATH 变量覆盖了默认路径。

如何恢复旧的 PATH?

默认 PATH 变量在 /etc/environment 中定义。

要恢复默认 PATH,首先export PATH="~/.composer/vendor/bin/lumen"从您的.bashrc

然后使用命令保存并获取:

source .bashrc 

然后从中删除.bash_profile并保存来源:

source .bash_profile

现在 source /etc/environment 恢复默认路径

source /etc/environment

现在你的默认 PATH 已恢复,你可以通过运行来检查echo $PATH

将新路径添加到 PATH 变量

现在添加新的 PATH 使用:

export PATH=$PATH:$HOME/.composer/vendor/bin/

编辑:这里出现错误是因为我们添加了二进制文件本身,因此请检查上面的行

添加以下行然后.bashrc保存并获取:

source .bashrc

检查运行,$PATH您应该会看到新添加的路径。

相关内容