我是C新手。我想使用fgets输入一个字符串,并将其作为shell命令执行。我知道可以做一些像
这样的事情echo `ls`
Perl中的我想在C里做类似的事情。我做错了什么?以下是我使用的一些代码:
printf("Enter a command: ");
fgets(buf, sizeof(buf), stdin);
if(prefix("ls", buf) || prefix("mv", buf) || prefix("pwd", buf) || prefix("mkdir", buf)){
strip_newline(buf, sizeof(buf));
printf("echo `%s`", buf);
}
答案 0 :(得分:1)
尝试使用system
命令。
C库函数int system(const char * command)传递 命令为主机指定的命令名或程序名 由命令处理器执行并在之后返回的环境 命令已经完成。
答案 1 :(得分:1)
替换
printf("echo `%s`", buf);
与
system(buf);
再试一次。