Bash: exec和文件描述符

echo 1234567890 > File    # Write string to "File".
      exec 3<> File             # Open "File" and assign fd 3 to it.
      read -n 4 <&3             # Read only 4 characters.
      echo -n . >&3             # Write a decimal point there.
      exec 3>&-                 # Close fd 3.
      cat File                  # ==> 1234.67890

 

#!/bin/bash                                                                                                                                                                                                     
echo 'START'

# open a file with descriptor 100, do 'ls -l' and redirect its output to the file                                                                                                                               
exec 100< <(ls -l)

# accept input from that file (fd 100)                                                                                                                                                                          
num=1
while read line; do
    echo "LINE $num: $line"
    num=$(($num + 1))
done <&100

exec 100>&-                     # close it                                                                                                                                                                      
echo 'END'


http://tldp.org/LDP/abs/html/io-redirection.htmlhtml

http://www.linuxtopia.org/online_books/advanced_bash_scripting_guide/x13082.htmllinux

相關文章
相關標籤/搜索