我正在尝试使用 C 语言编写和执行 bash 脚本。目的是用 C 编写一个个人项目,看看是否也可以包含 bash 功能。我创建了一个简单的 C 文件script.c
(编译为script
)进行测试,但出现了错误:
bash: ./script: Permission denied
我尝试使用 sudo 权限运行,但仍然收到类似的响应:
sudo: unable to execute ./script: Permission denied
我打算用这个文件运行 bash 命令:echo "hello"
使用 C
这是 C 文件:
#include <stdio.h>
#include <stdlib.h>
#define SHELLSCRIPT "\
#/bin/bash \n\
echo \"hello\" \n\
"
int main() {
puts("executing script");
system(SHELLSCRIPT);
return 0;
}
我大胆猜测,那行代码system(SHELLSCRIPT);
就是原因,因为即使是 root 用户也无法进行系统调用。但是,在浏览互联网后,大家一致认为可以以这种方式执行 bash 脚本。任何帮助或见解都值得赞赏。
答案1
看来我没有正确安装我工作的硬盘驱动器并赋予正确的权限。因此文件无法正常工作。此程序在不同的正确安装的驱动器中创建时可以正常工作。