我无法理解这两种情况之间的区别:
./a.out > outfile 2>&
我可以在outfile中看到标准输出和错误输出
./a.out 2>& > outfile
我只能看到标准输出int outfile,并在屏幕上打印错误输出
我该怎么理解这个?我认为他们是一样的!
源代码在这里:
#include <stdio.h>
#include <stdlib.h>
void main() {
int *a = malloc(sizeof(int));
*a = 11;
int b = 22;//on the stack
int pid = fork();
if (pid == 0) {
printf("pid=%d, a = %d, &a=%p\n", getpid(), *a, a);
printf("pid=%d, b = %d, &b=%p\n", getpid(), b, &b);
getchar();
*a = 33;// ===========cow=========happend here=====
b = 44;
printf("pid=%d, a = %d, &a=%p\n", getpid(), *a, a);
printf("pid=%d, b = %d, &b=%p\n", getpid(), b, &b);
} else {
printf("pid=%d, a = %d, &a=%p\n", getpid(), …Run Code Online (Sandbox Code Playgroud)