exec控制 文件操作符

exec是shell的一個built-in command,一般用來execute某個command,然後退出該command,注意這裏不是fork一個子shell,然後用該子shell來執行command,而是在當前shell上直接執行該command,所以command退出後,該shell也就結束了。

exec的另外一個功能是打開和關閉文件描述符,文件符range是0-9.

因爲0是標準輸入,1是標準輸出,2是標準錯誤,所以沒有特別緣由,我們使用3-9.

舉例:

  1. exec 3</tmp/1.txt
    只讀方式文件打開/tmp/1.txt文件,文件描述符對應爲3
  2. exec 3>/tmp/1.txt
    寫方式打開/tmp/1.txt,文件描述符對應爲3
  3. exec 3<>/tmp/1.txt
    讀寫方式打開/tmp/1.txt,文件描述符對應爲3
  4. exec 3<&-
    關閉文件描述符3

附錄:常用文件重定向命令

command > filename                          把標準輸出重定向到一個新文件中
command >> filename                        把標準輸出重定向到一個文件中(追加)
command 1 > fielname                       把標準輸出重定向到一個文件中
command > filename 2>&1                  把標準輸出和標準錯誤一起重定向到一個文件中
command 2 > filename                       把標準錯誤重定向到一個文件中
command 2 >> filename                     把標準輸出重定向到一個文件中(追加)
command >> filename 2>&1                把標準輸出和標準錯誤一起重定向到一個文件中(追加)
command < filename >filename2          把command命令以filename文件作爲標準輸入,以filename2文件作爲標準輸出
command < filename                         把command命令以filename文件作爲標準輸入
command << delimiter                       把從標準輸入中讀入,直至遇到delimiter分界符
command <&m                                 把文件描述符m作爲標準輸入
command >&m                                 把標準輸出重定向到文件描述符m中
command &m<&-                              關閉文件描述符m

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章