首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用cpp中的exec()在其他目录上执行shell命令(ls

使用cpp中的exec()在其他目录上执行shell命令(ls
EN

Stack Overflow用户
提问于 2021-04-09 12:32:05
回答 1查看 27关注 0票数 0

我想使用exec系统调用清除主目录中的目录/文件。我不能理解的是,我可以指定在哪个目录上应用ls。以下是我尝试过的方法:

代码语言:javascript
复制
cout<<execle("/bin/ls","bin/ls",NULL);

它打印当前目录中的文件。我将path作为环境变量传递,但这也没有帮助。也许这是用来指定在哪里找到传递给execl的可执行文件,

代码语言:javascript
复制
         char *env2[]={"PATH=/home/username", NULL};
         cout<<execle("/bin/ls","bin/ls",NULL, env2);

我认为在调用execl之前更改目录会有所帮助,但找不到简单的方法来做到这一点。如何指定应该对其执行ls的目录。注意:我使用的是ubuntu linux

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-09 12:44:30

尝试使用execvp()

代码语言:javascript
复制
cout << execvp("ls", ["ls", "/home/username"])

execvp将您试图执行的命令作为其参数,并将包含该命令的列表和提供给正在执行的命令的参数列表作为第二个参数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67015092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档