如果没有给出任何参数或重定向使用,cat 命令将从标准输入中读取。但是当我用它执行它时,execve()它的行为并不像在 bash 中那样。
代码:
#include <unistd.h>
#include <fcntl.h>
int main(int ac, char **av, char **env)
{
char *args[] = {"/bin/cat",NULL};
int ps = fork();
if (!ps)
execve("/bin/cat",args, env);
}
Run Code Online (Sandbox Code Playgroud)
输出 :
cat: stdin: Input/output error
Run Code Online (Sandbox Code Playgroud)
我尝试不带参数运行它,但它返回一个错误。