o comando sleep neste comando será executado?

o comando sleep neste comando será executado?

Motivado porComo posso alterar meu comando para ser executado sem privilégios de superusuário, mas com o valor limite alterado?, em um shell bash, se eu executar

exec su $LOGNAME && sleep 100

o comando sleep será executado?

Acho que não, pois exec su $LOGNAMEsubstituirá o shell no processo atual por outro shell. Quando saio do novo shell normalmente (para &&), o processo termina e não há processo para executar o comando sleep.

Obrigado.

Responder1

Não deveria. O execsucesso e o shell são substituídos ou execfalha, caso em que &&não executa o comando a seguir. exec somcmd || echo failou exec 2>somefile && echo okseria diferente, no entanto.

Responder2

Não, não vai, verifique:

ksh93
$ exec /bin/echo bla && sleep 1 && echo foo
bla

Você voltará ao shell anterior e execsubstituirá completamente a instância ksh93.

informação relacionada