首页 > 编程知识 正文

shell程序设计(c语言执行shell)

时间:2023-05-06 00:52:47 阅读:1526 作者:4176

作为程序员,在Linux环境下,我们更多使用的命令交互工具是Shell:

在Windows环境中,它是cmd:

接下来,让我们编写一个简单的shell程序。

如果只实现命令交互,这个shell程序其实是相当容易实现的,算法可以用文字描述如下:

Void Shell程序()

{

读取用户的输入;

如果(用户输入命令1)

{

调用命令1的处理程序;

}

否则如果(用户输入命令2)

{

调用命令2的处理程序;

}

.

否则如果(用户输入命令n)

{

调用命令n的处理程序;

}

}

但是,上面的算法有一个缺点:当我们添加新的命令时,上面的代码也会增加。

为了解决这个缺点,我们可以定义一个映射结构:

结构TCommandMap

{

Char*命令名;

func命令的处理函数;

};

然后构建一组映射结构:

struct tcommanmapcommandmaps[]=

[

{“命令1”,函数1},

{“命令2”,函数2},

.

{“命令n”,函数n}

]

这样,当我们添加命令时,我们只需要在映射数组中添加一条记录。

这是包含在简单Shell程序中的头文件:

这是简单Shell程序的命令处理功能:

这是简单Shell程序的数据结构定义:

这是简单Shell程序的main()函数实现:

这是简单Shell程序的编译命令:

简单的Shell程序是这样工作的:

是不是有点像shell或者cmd?

但是说实话,这个程序的简单版本在哪里,简直就是一个拙劣的版本。

感谢浏览!

#科技新星创造营#

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。