我制作了一个 shell,它在命令行中接受参数,并对其能够执行的操作具有特殊条件。
例如,出现在该#
字符之后的任何内容都将被视为注释,而命令行的其余部分将被忽略。
例如在命令中ls -lR /
,您将执行程序/bin/ls
(使用执行execvp
)并向其传递参数-lR
和/
。
但在命令中ls # -lR /
,只会/bin/ls
运行。
我已经制作了解析函数,它将命令行标记为单独参数的字符串,因此我认为它将从那里开始。
但是,我不确定如何注释掉#
CLI 中该字符之后的所有其他内容。我正在使用 C++。
答案1
仅将“#”之前出现的部分行发送到您的 tokenenize。