如何使用execlp使“ls-l$pwd”工作?
我已经阅读了以下关于如何实现execlp命令的答案,但是我无法使用execlp专门为ls-l$pwd运行相同的命令。我两者都试过了 execlpls,ls,-l,$pwd,char*NULL;和 execlpls,ls,-l,pwd,char*NULL;但似乎什么都不管用。这个思考过程中的任何方向都会非常有帮助 谢谢。那些美元。。。变量属于shell,而不是操作系统内部。在shell中键入这些变量时,shell会将它们转换为实际值,然后调用系统调用 在C程序中,您需要自己完成:如何使用execlp使“ls-l$pwd”工作?,c,linux,exec,C,Linux,Exec,我已经阅读了以下关于如何实现execlp命令的答案,但是我无法使用execlp专门为ls-l$pwd运行相同的命令。我两者都试过了 execlpls,ls,-l,$pwd,char*NULL;和 execlpls,ls,-l,pwd,char*NULL;但似乎什么都不管用。这个思考过程中的任何方向都会非常有帮助 谢谢。那些美元。。。变量属于shell,而不是操作系统内部。在shell中键入这些变量时,shell会将它们转换为实际值,然后调用系统调用 在C程序中,您需要自己完成: #include
#include <unistd.h>
int main() {
char *cwd = getcwd(NULL, 0);
execlp("ls","ls", "-l", cwd, (char *)NULL);
}
将为您提供当前目录。如果要在C程序中使用环境变量,需要调用getenv。