“sudo 命令”不起作用,但在我输入 sudo su 命令后它起作用了

“sudo 命令”不起作用,但在我输入 sudo su 命令后它起作用了

我的 Ubuntu 版本是 Ubuntu 22.04.2 LTS。我有一个用户(ahmet),它是 sudo 的成员。我下载了 intellij idea,我想为每个人使用它的 mvn lib。我按照此链接编辑了 /etc/bash.bashrchttps://linuxhint.com/add-path-permanently-linux/当我尝试执行mvn时,出现三种情况:

正常方式:

ahmet@ahmet:~$ mvn -v
Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)
Maven home: /opt/idea-IU-231.8109.175/plugins/maven/lib/maven3
Java version: 11.0.18, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.19.0-41-generic", arch: "amd64", family: "unix"

以 root 身份:

ahmet@ahmet:~$ sudo su
root@ahmet:/home/ahmet# mvn -v
Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)
Maven home: /opt/idea-IU-231.8109.175/plugins/maven/lib/maven3
Java version: 11.0.18, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.19.0-41-generic", arch: "amd64", family: "unix"

使用 sudo:

ahmet@ahmet:~$ sudo mvn -v
sudo: mvn: command not found

我认为,使用“sudo mvn -v”,对于 root (#),一切都必须相同。但在这种情况下,root 可以执行,但属于 sudo 成员的普通用户无法使用带有 sudo 的 mvn。问题是什么?

答案1

当您sudo mvn -v直接从用户帐户运行时,系统找不到 mvn 命令,因为 mvn 可执行目录不包含在用户的 PATH 中。

您可以添加 /root/.bashrc 的完整路径来解决这个问题。

像这样

export PATH=$PATH:/opt/idea-IU-231.8109.175/plugins/maven/lib/maven3/bin

相关内容