exec 命令的用法

2021-06-29 15:54:36 字數 708 閱讀 9353

shell的內建命令exec將並不啟動新的shell,而是用要被執行命令替換當前的shell程序,並且將老程序的環境清理掉,而且exec命令後的其它命令將不再執行。

因此,如果你在乙個shell裡面,執行exec ls那麼,當列出了當前目錄後,這個shell就自己退出了,因為這個shell程序已被替換為僅僅執行ls命令的乙個程序,執行結束自然也就退出了。為 了避免這個影響我們的使用,一般將exec命令放到乙個shell指令碼裡面,用主指令碼呼叫這個指令碼,呼叫點處可以用bash a.sh,(a.sh就是存放該命令的指令碼),這樣會為a.sh建立乙個sub shell去執行,當執行到exec後,該子指令碼程序就被替換成了相應的exec的命令。

source命令或者」.」,不會為指令碼新建shell,而只是將指令碼包含的命令在當前shell執行。

不過,要注意乙個例外,當exec命令來對檔案描述符操作的時候,就不會替換shell,而且操作完成後,還會繼續執行接下來的命令。

exec 3<&0:這個命令就是將操作符3也指向標準輸入。

別處,這個命令還可以作為find命令的乙個選項,如下所示:

(1)在當前目錄下(包含子目錄),查詢所有txt檔案並找出含有字串」bin」的行

find ./ -name 「*.txt」 -exec grep 「bin」 {}

(2)在當前目錄下(包含子目錄),刪除所有txt檔案

find ./ -name 「*.txt」 -exec rm {}

exec函式組的用法

exec函式組 在fork後的子程序中使用exec函式族,可以裝入和執行其它程式 子程序替換原有程序,和父程序做不同的事 fork建立乙個新的程序就產生了乙個新的pid,exec啟動乙個新程式,替換原有的程序,因此這個新的被 exec 執行的程序的pid不會改變 和呼叫exec的程序的pid一樣 在...

linux下的exec命令

shell 中的 exec 兩種用法 1.exec 命令 命令代替shell程式,命令退出,shell 退出 比如 exec ls 2.exec 檔案重定向,可以將檔案的重定向就看為是shell程式的檔案重定向 比如 exec 5shell的內建命令exec將並不啟動新的shell,而是用要被執行命...

Python中理解exec 用法

exec語句用來執行儲存在字串或檔案中的python語句。例如,我們可以在執行時生成乙個包含python 的字串,然後使用exec語句執行這些語句。下面是乙個簡單的例子。exec print hello world hello world 注意例子中exec語句的用法和eval r execfile...