0

我必须执行一个路径未知的命令。我可以到达环境路径,但如何使用它们?例如,如果有 5 个不同的路径,我应该在 execv 中尝试哪一个?

/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

在数组中解析这些路径后,我该如何使用它们?我应该为每个人尝试 execv 吗?

4

1 回答 1

0

您可以只使用execvp,它在执行的 shell 中搜索二进制文件PATH(参见http://linux.about.com/library/cmd/blcmdl3_execv.htm)。

如果这不是一个选项,您可能应该像execvp/ shell 那样做:查看一个接一个的路径(从左到右)并检查其中是否有一个具有给定名称的可执行文件。

于 2012-11-22T08:29:03.953 回答