日期:2014-05-16  浏览次数:20585 次

关于exec的问题
书上有个shell脚本 有2行 不太明白什么意思 希望大神指点

exec 4<&0 0<stock.txt
read line1
read line2
exec 0<&4
echo $line1
echo $line2

其中exec 4<&0
和exec 0<&4起了什么作用饿

------解决方案--------------------
这儿应该是打开一个文件描述符

整个脚本应该就是保存0,然后再恢复0
0也就是标准输入
------解决方案--------------------
4<&0, 是描述符的复制, 意思是4复制自0, 且用于输入.
0 < xx.txt 是描述符重定向, 意思是打开xx.txt用于输入, 且将描述符0重定向到xx.txt.
0<&4, 和第一条一样,是描述符的复制,意思是0复制自4, 也就是将0恢复到了原来的文件, 也就是键盘.

其实此刻0和4都是键盘了, 可以关闭4, 应该是exec 4&- ,我记不清了,可以试一下.