Чи працює exec
щось в інтерактивній оболонці? Я маю на увазі просто exec
, без жодних параметрів.
Що щодо сценарію?
Якщо вона щось робить, то що робить?
Чи працює exec
щось в інтерактивній оболонці? Я маю на увазі просто exec
, без жодних параметрів.
Що щодо сценарію?
Якщо вона щось робить, то що робить?
Відповіді:
Якщо команда не вказана, будь-які перенаправлення можуть набути чинності в поточній оболонці. Це коротка версія написаної на сторінці man. Я розумію, що коли exec
виконується порожній, він не запускає нову оболонку, не вносить змін у поточний і повертає код 0, що означає, що він був виконаний без помилок.
Так:
Зазвичай, коли ви виконуєте команду, вона викликає fork
і exec
(плюс труба тощо). Але коли ви додаєте exec
на початку (наприклад exec ls
), він не викликає fork
, тому оболонку замінює команда. Тобто команда виконується в тому ж процесі, що і в оболонці (оболонки більше не існує).
Він застосовує переадресації, які потім впливають згодом.