常用命令语法及范例
exec 6<&0 # 将fd6与stdin链接起来,保存stdin
exec < data-file # stdin被文件data-file代替
read a # 从data-file读取一行
exec 0<&6 6<&- # 从fd6恢复stdin,然后关闭fd6
exec 1>outfilename # 打开文件outfilename作为stdout
exec 2>errfilename # 打开文件errfilename作为 stderr
exec 1&- # 关闭 FD1
exec 5>&- # 关闭 FD5
exec 4>&1 # 备份当前stdout至FD4
exec 1>out.txt # stdout重定向至out.txt
exec 1>&4 4>&- # 恢复stdout,然后关闭FD4
# 打开文件读取
cat > myfile.txt <<EOF
Line 1.
Line 2.
Line 3.
EOF
exec 3<>myfile.txt
while read line <&3;do echo $line;(( Lines++ ));done
exec 3>&-
echo "Number of lines read = $Lines"
# 查看文件描述符
lsof -a -p $$ -d0,1,2
ll /proc/$$/fd