有没有办法在同一个shell-instance中执行shell命令?因为,system()
在执行命令后离开了启动的shell。
答案 0 :(得分:1)
您始终可以使用分号将shell命令构造为单行命令。如:
cd /home/user;mkdir tmp;ls
答案 1 :(得分:0)
您的意思是在运行程序的同一终端中执行命令吗?您可以使用popen
:
#include <stdio.h>
int main() {
FILE *f = popen("ls", "r");
char line[1024];
size_t len;
while (fgets(line, 1024, f) != NULL) {
printf("%s", line);
}
pclose(f);
return 0;
}