所以我试图设置 JAVA_HOME 变量,但每次我想使用终端时都会遇到这个错误
Command 'poweroff' is available in the following places
* /sbin/poweroff
* /usr/sbin/poweroff
The command could not be located because '/sbin:/usr/sbin' is not included in the
PATH environment variable.
This is most likely caused by the lack of administrative privileges associated with
your user account.
poweroff: command not found
我可以用这个命令修复它:
export PATH="/usr/bin:$PATH"
但每次我打开新终端时都会再次遇到错误,并且必须再次使用此命令。
如果你能帮忙,我将不胜感激。顺便说一下,我用Ubuntu 22.04.1 LTS
答案1
虽然,既然你接受了问题,这可能是一个对你有用的权宜之计,更好的方法是修复错误的原因。不幸的是,在你的问题中,你没有表明如何你设置了JAVA_HOME
变量。不知何故,你在某些地方做了一些更改,导致变量清空PATH
。
因此,请仔细检查您的.bashrc
文件。任何更改 的内容PATH
都是您自己添加的。默认情况下,PATH
不再在 中修改.bashrc
。请参阅/etc/skel/.bashrc
默认.bashrc
文件。
答案2
转到你的主目录,编辑 .bashrc
添加您的行:
导出 PATH="/usr/bin:$PATH"
现在,每次启动新的终端实例时,您的路径都会被导出。
当然,你可以在 $PATH 之前添加任何其他路径
祝你好运。
答案3
通常PATH
设置在 中/etc/environment
。这是我的版本:
$ cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
现在,我不知道你做了什么来设置你的JAVA_HOME
,但有一些例子https://stackoverflow.com/questions/47013303/ubuntu-java-environment-path-bash-etc-environment-permission-denied解释了如何将 添加JAVA_HOME
到/etc/environment
。如果您按照此操作,但将 替换为>>
,>
而不是添加到现有文件,则会覆盖它。这意味着PATH
现在 已丢失。
重新添加PATH
我的示例中的定义应该可以解决大多数问题,除非您安装了某个添加另一个路径组件的包。
/etc/environment
在而不是.profile
或中执行此操作的优点.bashrc
是,它适用于所有用户,包括运行服务器进程的用户,而不仅仅是您。