c - 参数大小未知的 execl 与 execv

标签 c shell unix process exec

情况如下:我必须在项目中使用 execl 和 execv ,问题是如果参数大小未知但路径已知,我应该如何使用 execl ?或者我应该每次都使用 execv 。它们之间有什么区别?

例如,如果用户输入: gcc a.c -o a.out 或在另一行中输入 ls -l 我如何在 execl 或 execv 中执行它们? ps:我可以找到路径,或者用户可以输入它。

另一个主要问题是,如果我有多个路径,我如何分离我的命令所在的正确路径,我应该在 if else 情况下尝试每个路径?

最佳答案

当您知道参数列表的大小时,您可以使用 execl;当您必须动态构造参数列表时,您可以使用 execv

我不明白第二个问题。但你不应该在一篇文章中问两个问题。用第二个问题开始另一个问题,并更清楚地解释您要问的内容。

关于c - 参数大小未知的 execl 与 execv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13508115/

相关文章:

bash - 如何将不以特定模式开头的行连接到 UNIX 中的上一行?

unix - 以不同语言打印大纪元时间

mysql.h : No such file or directory

c - 错误 : array type has incomplete element type typedef

linux - shell合并两个文件

bash - 用于发送 Mattermost 通知的 Shell 脚本不起作用

c - FFmpeg 不支持不同容器的比特率?

c - 使用 strcat 在字符串文字上添加空格?

c++ - Unix C++ : get time at a different zone

c - 在简单的 UNIX Shell 中实现历史记录的问题