Que tipos de comandos podem ser executados com exec?

3

Quais tipos de comandos podem ser executados com exec ? Por exemplo, arquivos executáveis, comandos incorporados, script de shell, comandos compostos (por exemplo, looping, ramificação condicional), pipeline, lista de comandos, comandos agrupados por parênteses ou chaves, ...?

Como o shell pai é encerrado após o comando executado com exec terminar a execução, é difícil dizer se existe um erro.

    
por Tim 16.04.2016 / 15:24

1 resposta

3

exec substitui o executável shell atual por outro executável , ou seja, um comando externo, no mesmo processo. Como não há shell para executar nada, conceitos de shell como aliases, funções, builtins ou comandos compostos não podem ser invocados via exec . (A sintaxe não permite comandos compostos de qualquer maneira.)

O shell não sai quando o comando executado com exec terminar a execução. O shell programa termina quando executa exec , no sentido de que seu código para de executar (mas, mais uma vez, o processo não sai). O shell processo continua executando o novo programa. Quando o programa executado termina, o pai do processo é notificado como de costume; cabe a ele reagir a qualquer erro.

    
por 16.04.2016 / 23:47

Tags