Bash內建命令exec和重定向

2022-05-30 19:18:13 字數 723 閱讀 9635

**bash內建命令exec重定向

bash內建命令exec可以替換當前程式而不需要啟動乙個新的程序,可以改變標準輸入和輸出而不需要啟動乙個新的子程序。

如果檔案用exec開啟,read命令就會把檔案指標每次指向下一行直到檔案的末尾,如果要重新從檔案開始讀取,則必須把檔案關閉再重新開啟。

1、替換當前shell,執行某個命令,命令終止,shell也就終止了

$exec ls

2、開啟檔案作為當前shell的標準輸入

$exec 3、開啟檔案作為當前shell的標準輸出

$exec >file_name

4、開啟檔案作為輸入,並分配檔案描述符

$exec 35、開啟檔案作為輸出,並分配檔案描述符

$exec 4>datafile

6、建立檔案描述符fd4的拷貝fd5

$exec 5<&4

7、關閉檔案描述符

$exec 3<&- //關閉輸入檔案描述符

$exec 4>&- //關閉輸出檔案描述符

注意: <&和重定向操作符》&、&>的區別

例子:$exec 3>filex //開啟檔案filex並分配檔案描述符3,作為輸出

$who >& 3 //who命令的輸出輸出到filex

$date >& 3 //date命令的輸出輸出到filex

$exec 3>&- //關閉filex

$exec 3學習永遠不晚。——高爾基

shell 內建命令 exec

exec 命令並不啟動新的 shell,而是用要被執行的命令替換當前的 shell 程序,並且將老程序的環境清理掉,exec 命令後的其它命令將不再執行。exec 在執行時會將當前的 shell process 關閉,然後切換到後面的命令繼續執行。在乙個 shell 中執行 exec ls,列出當前...

Bash內建命令 shopt

1.shopt 命令簡介 2.shopt 引數含義說明 3.shopt 使用示例 1 extglob 引數 shopt 命令用於顯示和設定shell中的行為選項,通過這些選項以增強shell易用性。shopt命令若不帶任何引數選項,則可以顯示所有可以設定的shell操作選項。shopt psu op...

Bash內建命令 read

read ers a aname d delim i text n nchars n nchars p prompt t timeout u fd name 從標準輸入中讀取一行,或從 u選項指定的檔案描述符fd讀取一行,拆成單詞後,依次賦值給name echo 1 2 3 foo read a b...