Ubuntu 搞乱了 PATH

Ubuntu 搞乱了 PATH

在尝试配置 go 编程语言时,我弄乱了 linux 中的 PATH。如果不指定路径,我无法执行任何命令:

frede@frede-Lenovo-V110-15ISK:~$ ls
Command 'ls' is available in '/bin/ls'
The command could not be located because '/bin' is not included in the PATH environment variable.
ls: command not found
frede@frede-Lenovo-V110-15ISK:~$ echo $PATH
/home/frede/bin:/home/frede/.local/bin:PATH:/home/frede/go/bin

但是我可以用指定的路径运行它。我尝试通过查看类似线程来解决这个问题,但就是找不到适合我的解决方案。你能帮助我吗?

更新

frede@frede-Lenovo-V110-15ISK:~$ grep 'PATH=' ~/.profile ~/.bashrc ~/.bash_profile /etc/profile
/home/frede/.profile:PATH="$HOME/bin:$HOME/.local/bin:$PATH"
/home/frede/.bashrc:export GOPATH=/home/frede/go
/home/frede/.bashrc:export PATH=PATH:/home/frede/go/bin
grep: /home/frede/.bash_profile: No such file or directory

答案1

恢复

你的/etc/profile.我不知道你是如何搞乱你的路径的,但是采购/etc/profile应该会让事情恢复正常。只要你没有编辑那个。所以试试这个:

. /etc/profile

正确的路径设置

假设您使用的是 bash,您可以使用.bashrcfile (而不是.profile)来设置路径。您可以使用与您可能在以下位置找到的条目类似的条目/etc/profile

# set PATH so it includes your private Go bin folder if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/go/bin:$PATH"
fi

如果您不使用 bash,请调整您的私有文件中的 PATH(与上面的方式相同),.profile而不是.bashrc.

最后,获取您修改过的文件:

. ~/.bashrc   # or
. ~/.profile

(注:.profile通常来源.bashrc——请参阅参考资料以获取更多信息)

如果您用错误的 PATH 定义污染了某些文件,则需要将其清除。请关注 Terdon 在您的问题下的评论。

参考

相关内容