《LINUX與UNIX SHELL編程》之「文件描述符及在循環中的應用」

火星人 @ 2014-03-09 , reply:0


在shell編程過程中,我們經常會用到如下形式的語句: if find / -name passwd >find.txt 2>&1;then 其中2、1兩個數字就是文件描述符.系統中共有12個文件描述符,0、1、2分別是標準輸入、標準輸出、標準錯誤,3到9是可以被任意使用的.常用的一些重定向組合包括: command > filename 2>&1 把標準輸出和標準錯誤一起重定向到一個文件中; command < filename > filename2 以filename1為標準輸入,以filename2為標準輸出; command << delimiter 從標準輸入中讀入,直到遇到delimeter分界符; command < (>)&m 把文件描述符m作為標準輸入(重定向到文件描述符m中); command < &- 關閉標準輸入 在使用while循環將數據讀入一個文件時,可以使用文件描述符,例如下面的例子使用文件描述符3、4將myfile.txt備份到myfile.bak中: exec 4>&myfile.bak exec 3<&myfile.txt while: do read LINE <&3 echo $LINE > &4 done





[火星人 via ] 《LINUX與UNIX SHELL編程》之「文件描述符及在循環中的應用」已經有108次圍觀

http://www.coctec.com/docs/linux/show-post-49680.html