【发布时间】:2020-04-26 05:52:05
【问题描述】:
我开始学习操作系统,我尝试在 C 中使用 execle() 系统调用,我有一个 DIR 环境变量,我使用这样的环境数组将其设置为 /home
char* path = "/bin/ls";
char* myargs[4] = {"ls", "-la", "/home", NULL};
char *const env[] = {"DIR=/home", NULL};
execle(path, myargs[0], myargs[1], "$DIR", NULL, env);
但是当我编译并运行它时,我得到以下输出
ls: cannot access '$DIR': No such file or directory
但是,这似乎工作得很好
execle("/bin/bash", "/bin/bash", "-c", "echo $DIR", NULL, env);
我对 execle 调用有什么理解错误吗?
【问题讨论】:
标签: c linux operating-system