我正在为一个班级做家庭作业,我必须编写一个充当shell的程序。要求是使用fork()
和execlp()
系统调用。
对于程序,在运行时从用户获取shell命令,我必须解析它。
我已经在线查看并发现了许多使用execvp()
的建议,因为我们不知道用户可能提供的参数数量。但是我需要使用execlp()
。
例如,假设用户输入为cp Picture1.jpg Picture2.jpg
。对execlp()
函数的调用看起来像execlp("cp", "cp", "Picture1.jpg", "Picture2.jpg", NULL);
我的问题是如何在没有硬编码的情况下调用此方法?例如,用户输入可能有2个参数或3个参数。是否有数据类型,我可以将变量传递给execlp()
?我遇到的主要问题是使用用户的输入调用execlp()
系统调用。