我想在我的 C 程序中执行命令。但是,我需要 root 权限才能创建一些文件夹。我运行以下命令:
system("echo <rootpass> | sudo cd <folder> && make install");
<rootpass> is given by the user (and thus the command should only execute if the user has root priviliges).
但是,当我运行此命令时,系统返回代码 256(EPERM /* 不允许操作 */)。
我该如何解决这个问题?
答案1
您必须编写一个脚本,其中包含expect
,sudo
和make install
来解决您的问题,并且您的system()
函数调用您的脚本,例如:
system("myscrip.sh");
对于阅读期望:如何从 Bash 以 root 身份登录并执行操作