我最近开始使用linux,所以我对它知之甚少。至少我知道linux中的每一件事都是一个文件。
我想知道如何捕捉特定的 linux 系统返回,例如如果我选择 install ruby (sudo apt-get -y install ruby),我怎么知道它安装成功了?
char buffer[1024];
char *buf = malloc(4096);
char *pl;
FILE *fp;
if (strcmp(cmd, "ruby") == 0)
{
fp = popen("sudo apt-get -y install ruby", "r");
}
if (fp == NULL)
{
printf("Failed to load file\n");
exit(0);
}
while ((pl = fgets(buffer, sizeof(buffer), fp)) != NULL)
{
strcat(buf, buffer);
}
strcat(buf, "\n");
pclose(fp);
然后我使用 popen 读取打开的文件,但它包含终端中显示的相同内容,我只想要一个“标志”,如 OK 或 FAIL。
对不起我糟糕的英语。