будет ли когда-нибудь выполнена команда sleep в этой команде?

будет ли когда-нибудь выполнена команда sleep в этой команде?

МотивированныйКак изменить команду так, чтобы она запускалась без привилегий суперпользователя, но с измененным значением лимита?, в оболочке bash, если я запущу

exec su $LOGNAME && sleep 100

будет ли когда-нибудь выполнена команда sleep?

Я думаю, что нет, потому что exec su $LOGNAMEзаменит оболочку в текущем процессе на другую оболочку. Когда я выхожу из новой оболочки обычным образом (для &&), процесс завершается, и нет процесса для выполнения команды sleep.

Спасибо.

решение1

Не должно. Либо execуспешно, и оболочка заменяется, либо execне удается, и в этом случае &&следующая команда не запускается. exec somcmd || echo failили exec 2>somefile && echo okбудет отличаться, хотя.

решение2

Нет, не будет, проверьте:

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

Вы вернетесь к предыдущей оболочке и execполностью замените экземпляр ksh93.

Связанный контент