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