Motivado por Como posso alterar meu comando para executar sem privilégios de superusuário, mas com o valor limite alterado? , em um bash shell, se eu executar
exec su $LOGNAME && sleep 100
o comando sleep será executado?
Acho que não, pq exec su $LOGNAME
vai substituir o shell no processo atual por outro shell. Quando eu saio do novo shell normalmente (para &&
), o processo termina e não há nenhum processo para executar o comando sleep.
Obrigado.
Não deveria. Ou é bem-
exec
sucedido e o shell é substituído ouexec
falha, caso em que&&
não executa o comando a seguir.exec somcmd || echo fail
ouexec 2>somefile && echo ok
seria diferente, no entanto.Não, não vai, verifique:
Você retornará ao shell anterior e
exec
substituirá a instância ksh93 completamente.