c - 如何编写一个评估 shell 命令的 c 程序

标签 c shell

这是我想做的:
用户需要在提示符下输入命令,程序将评估该命令以知道该做什么。
如果找不到命令,则 shell 将返回错误“找不到命令!”。
如果用户输入命令 EXIT,那么程序应该退出。
为简单起见并避免用户在没有输入任何内容的情况下按下回车的问题,我们将假设用户总是会输入一些内容。
不会使用空字符串。我应该用一个循环来做到这一点,这就是我想要做的:

例子:

shell.exe



shell >测试

找不到命令!

shell >test2

找不到命令!

shell >退出

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

int main()
{
    char command[20];

    while (command != "exit") {

        //check with an if statement for valid commands
        printf("Enter a command:\n");
        gets(command);
    }

    if (command == "exit") {
        //program should exit
    }

    return 0;
}

最佳答案

使用popen()system() . Popen 为 i/o 提供了一个处理程序,而系统则给了狗屎,但是您仍然可以重定向到命令行上的管道(“<”和“>”),并从那里按自己的方式读写 i/o。

关于c - 如何编写一个评估 shell 命令的 c 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39932881/

相关文章:

c++ - 在 OoOE 处理器中,内存存储真的可以重新排序吗?

c - 连接时出现 Strcat 问题

regex - 在文本文件中查找所有匹配的双字符字符串并交换它们

shell - 检查删除表语句是否删除配置单元表

c - 在 c 程序中运行 shell 命令

mysql - Shell脚本从文件中提取数据

C_(视觉)_调试错误_运行时检查失败#2 -S

c - 从被调用函数访问 malloc'ed struct array 给出 Segmentation Fault

在C中转换和显示图像

linux - && return 1 不终止脚本?