如何在用户构建的 shell 中仅运行命令行的一部分?

如何在用户构建的 shell 中仅运行命令行的一部分?

我制作了一个 shell,它在命令行中接受参数,并对其能够执行的操作具有特殊条件。

例如,出现在该#字符之后的任何内容都将被视为注释,而命令行的其余部分将被忽略。

例如在命令中ls -lR /,您将执行程序/bin/ls(使用执行execvp)并向其传递参数-lR/

但在命令中ls # -lR /,只会/bin/ls运行。

我已经制作了解析函数,它将命令行标记为单独参数的字符串,因此我认为它将从那里开始。

但是,我不确定如何注释掉#CLI 中该字符之后的所有其他内容。我正在使用 C++。

答案1

仅将“#”之前出现的部分行发送到您的 tokenenize。

相关内容