如何在C中获取Linux命令位置?

艾哈迈德·加尔马(Ahmed El-Gamal)

execv在C中使用,但是它要求获取命令的路径以使其执行,例如:

  • 要执行,ls我必须有char* command = "/bin/ls";
  • 要执行,gedit我必须有char *command = "/usr/bin/gedit";

我的问题是如何获取字符串"/bin""/usr/bin"在C中?

保罗·奥吉维

您可以从环境中获取PATH变量。然后解析它以获取每个组件,然后检查每个组件的位置是否存在给定的命令(文件)。

基本上,这就是which命令的作用。可以在网上找到linux实用程序的源代码

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章