exec comando no Linux é usado para executar um comando da própria bash. Este comando não cria um novo processo que apenas substitui a bash com o comando a ser executado. Se o comando exec for bem sucedido, não volta ao processo de chamada.
Sintaxe:
exec ]
Opções:
- c: é usado para executar o comando com o ambiente vazio.
- um nome: usado para passar um nome como o argumento zeroth do comando.
- l: usado para passar o traço como o argumento zeroth do comando.
Nota: o comando exec não cria um novo processo. Quando executamos o comando exec a partir do terminal, o processo terminal em curso é substituído pelo comando que é fornecido como argumento para o comando exec.
O comando exec pode ser usado em dois modos:
- Exec com um comando como um argumento: No primeiro modo, o exec tenta executá-lo como um comando passar os argumentos restantes, se houver, para que o comando e a gestão do redirecionamentos, se houver.
Exemplo 1:
Exemplo 2:
o comando exec procura a localização mencionada na variável $PATH para encontrar um comando a executar. Se o comando não for encontrado o comando exec, assim como a linha de comandos sai em erro.
- Exec sem um comando: se não for fornecido nenhum comando, as redirecções podem ser usadas para modificar o ambiente da linha de comandos actual. Isto é útil, pois permite-nos alterar os descritores de ficheiros da shell, de acordo com o nosso desejo. O processo continua mesmo após o comando exec ao contrário do caso anterior, mas agora a entrada, saída e erro padrão são modificados de acordo com as redireções.
Exemplo:
Aqui o exec comando altera o padrão do shell para o arquivo tmp e assim, todos os comandos executados após o comando exec escrever os seus resultados no arquivo. Esta é uma das formas mais comuns de usar exec sem quaisquer comandos.Tags: