arm linux gcc 编译.. .bashrc 中的导出路径不适用于 sudo,但适用于 su

arm linux gcc 编译.. .bashrc 中的导出路径不适用于 sudo,但适用于 su

我是一个使用了 1 周的 Linux 用户。

我已经添加

export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin

用于.bashrcfriendlyarm项目,效果很好。arm-linux-gcc -v命令显示了详细信息。

当我使用make moduleslinux-2.6.38 源文件夹中的命令进行编译时,出现“权限被拒绝”错误。所以我使用sudo make modules但它不识别arm-linux-gcc它说:

make: arm-linux-gcc: Command not found

因此我必须使用su并以 root 身份使用make modules,一切正常。

为什么当我使用 sudo 时它无法识别我添加到 .bashrc 的路径?这是正常的吗?

答案1

使用sudo -E而不是sudo来保存修改的PATH。否则PATH不会保存,因此arm-linux-gcc无法找到(请参阅 了解man sudo详细信息和可能的永久修复)。

如果那不起作用,请尝试sudo env PATH=/path/to/gcc:$PATH make target

相关内容