如何安全地关闭C 模仿外壳

How to safely close a C++ mimic of a shell

本文关键字:外壳 何安全 安全      更新时间:2023-10-16

我正在尝试在C 中编码显示提示符($)并等待用户输入的基本外壳。我可以将其删除,但是问题是程序在用户输入的第一次执行后结束。

我有提示和命令的课程。提示类显示提示,获取用户输入,解析它,并调用适当的命令 -> execute()函数。第一个命令执行后,如何使程序返回显示命令提示符并要求输入?当用户键入exit时,如何安全退出整个程序?

下面是我运行时发生的情况的片段。我想要的是,在hello之后,$再次显示(并等待输入)。

$ ls -a && echo hello
.   a.log  a.out   command.h  or.h      separate.h  tmp.log
..  and.h  base.h  main.cpp   Prompt.h  tmp.cpp     tst
hello

我想我想知道的是,如何创建自己的退出功能,使Main返回?谢谢!

我决定只使用调用std :: exit(0)的函数。这可能/可能不是理想的选择,但是由于我的程序很小,我希望它应该没事的。