执行stdout重定向到文件的脚本.所以/ proc / $$/ fd / 1应指向该文件(因为stdout fileno为1).但是,文件的实际fd是11.请解释,为什么.
这是会议:
$cat hello.sh #!/bin/sh -e ls -l /proc/$$/fd >&2 $./hello.sh > /tmp/1 total 0 lrwx------ 1 nga users 64 May 28 22:05 0 -> /dev/pts/0 lrwx------ 1 nga users 64 May 28 22:05 1 -> /dev/pts/0 lr-x------ 1 nga users 64 May 28 22:05 10 -> /home/me/hello.sh l-wx------ 1 nga users 64 May 28 22:05 11 -> /tmp/1 lrwx------ 1 nga users 64 May 28 22:05 2 -> /dev/pts/0