gpt4 book ai didi

c - 从 C 中的文件运行 bash 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 06:21:19 26 4
gpt4 key购买 nike

我有这部分代码:

   #include <stdio.h>
#include <stdlib.h>

int main(void)
{
FILE * fp;
char * line = NULL;
size_t len = 0;
ssize_t read;

fp = fopen("./file_commands", "r");
if (fp == NULL)
exit(EXIT_FAILURE);

while ((read = getline(&line, &len, fp)) != -1) {
// printf("%s", line);
system(line);
}

fclose(fp);
if (line)
free(line);
exit(EXIT_SUCCESS);
}

在 file_commands 中,我想放置并能够运行如下 bash 脚本:\x31\xc0\x50\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x80执行此操作的最佳方法是什么?

最佳答案

没有理由像这样逐行进行。实际上,您做错了几件事导致此代码失败,但最重要的是逐行查看 bash 文件不会节省资源

实际上是浪费资源。每次调用 system 时,您的操作系统都会创建一个新进程来执行命令。如果你只是这样做,你实际上会节省系统资源

int result = system("./file_commands");

而不是尝试在对 system 的单独调用中执行该文件的每一行。

关于c - 从 C 中的文件运行 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34448856/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com