执行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
解决方法
原文地址:https://www.jb51.cc/linux/393326.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。