2009-11-10 57 views
2

今天我遇到了一个可用的ksh脚本[交互式],在这里我看到了下面的语句。重定向到一个奇怪的文件描述符否

printf "Enter the release no. : " >&5 

不知使用>&5当作者可以有,以及使用什么或说>&1

有人可以阐明这一点吗?

在此先感谢

- Benil

+1

表现出更多的是脚本的。他可能有文件描述符5声明在其他地方? – ghostdog74 2009-11-10 11:52:33

回答

5

他可能已经重新映射文​​件描述符或不使用文件描述符5一些特别的东西

例如只能暂时重定向错误/dev/null

#errors produced here go to stderr 
.... 
#now save stderr to fd 5 
exec 5>&2 
#redirect to /dev/null 
exec 2>/dev/null 
... 
# do stuff which errors are discarded 
...... 
# restore stderr from fd 5 
exec 2>&5 

因此,检查更脚本它做什么之前

+2

+1为一个有用的,现实世界的例子。重定向文件描述符是那些可以执行魔术的功能之一,如果你花时间学习细微差别。 – 2009-11-10 12:08:30

+0

抖动,你说得对。作者之前已经定义了它,并且他将stdout映射到描述符5,然后映射到日志文件。这样标准的cmds'o/p会去日志文件,偶尔会在屏幕上打印他使用desc.5的东西。5 非常感谢。 - Benil – Ben 2009-11-10 14:24:01

+0

没问题。然后接受答案 – jitter 2009-11-10 18:06:53

相关问题