我想通过 execv() 之类的 C 语言函数来执行 Linux 命令“pwd”。
问题是没有名为“pwd”的可执行文件,我无法执行“echo $PWD”,因为 echo 也是一个内置命令,找不到可执行文件。
最佳答案
如果你只是想在你的c程序中执行shell命令,你可以使用,
#include <stdlib.h>
int system(const char *command);
在你的情况下,
system("pwd");
问题是没有名为“pwd”的可执行文件,我无法执行“echo $PWD”,因为 echo 也是一个没有找到可执行文件的内置命令。
这是什么意思?您应该能够在 /bin/
中找到提到的包sudo find / -executable -name pwd
sudo find / -executable -name echo
关于c - 如何使用 C 函数执行 Shell 内置命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19209141/