Exec

執行 exec 有什麼作用嗎?

  • May 4, 2019

exec在互動式 shell 中執行有什麼作用嗎?我的意思很簡單exec,沒有任何參數。

在腳本中呢?

如果它確實做某事,它會做什麼?

*如果未指定 command,則任何重定向都可以在目前 shell 中生效。*這是手冊頁所說的簡短版本。據我所知,當exec執行空時它不會啟動新的 shell,不會對目前的 shell 進行更改,並返回程式碼 0,這意味著它執行時沒有錯誤。

是的:

當使用命令作為參數呼叫時。

通常,當您執行命令時,它會呼叫forkexec(加上管道等)。但是當您exec在開頭添加時(例如exec ls),它不會呼叫fork,因此 shell 會被命令替換。也就是說,該命令在與 shell 所在的程序相同的程序中執行(shell 不再存在)。

在沒有命令的情況下呼叫。

它應用重定向,然後在之後生效。

引用自:https://unix.stackexchange.com/questions/517133