是否可以使用 sudo 执行 makefile 的某些部分,而不使用 sudo 执行某些部分?

use*_*064 5 linux makefile

比如说,我有一个 makefile:

front:
    cd front && (sudo make -f Makefile.linux )   -- require sudo

back: 
    cd back && (make -f Makefile.linux )

clean:
    cd front && (make -f Makefile.linux clean)
    cd back  && (make -f Makefile.linux clean)
Run Code Online (Sandbox Code Playgroud)

有可能做到吗?如果是,那么正确的方法是什么?谢谢

丽江

Ale*_*x W 2

Sudo只是一个允许您进行身份验证然后以 root 身份运行程序的程序。进行身份验证后,您可以通过 sudo 以 root 身份自由运行命令,而无需在可配置的时间内重新进行身份验证。任何不带前缀的命令sudo都将仅以普通用户的权限运行。

如果您希望在命令行上使用此 makefile,那么这是正确的方法。另一方面,如果您希望在图形环境中使用 makefile,那么您可能需要使用gksu或 ,gksudo具体取决于您使用的发行版。

  • @BeniBela - 可能是因为 makefile 中的每个命令都在单独的 shell 中运行,而 `sudo` 仅为当前 shell 设置时间戳(在没有密码提示的情况下运行 `sudo` 的权限),因此它“丢失”了下一个命令。如果您在终端中打开几个选项卡并在其中一个选项卡中打开“sudo”,也会发生同样的情况:如果您切换到另一个选项卡和“sudo”,您必须再次输入密码,因为它是不同的 shell。 (2认同)