Exec
執行 exec 有什麼作用嗎?
exec
在互動式 shell 中執行有什麼作用嗎?我的意思很簡單exec
,沒有任何參數。在腳本中呢?
如果它確實做某事,它會做什麼?
*如果未指定 command,則任何重定向都可以在目前 shell 中生效。*這是手冊頁所說的簡短版本。據我所知,當
exec
執行空時它不會啟動新的 shell,不會對目前的 shell 進行更改,並返回程式碼 0,這意味著它執行時沒有錯誤。
是的:
當使用命令作為參數呼叫時。
通常,當您執行命令時,它會呼叫
fork
和exec
(加上管道等)。但是當您exec
在開頭添加時(例如exec ls
),它不會呼叫fork
,因此 shell 會被命令替換。也就是說,該命令在與 shell 所在的程序相同的程序中執行(shell 不再存在)。在沒有命令的情況下呼叫。
它應用重定向,然後在之後生效。