Чи працює якийсь виконавець?


2

Чи працює execщось в інтерактивній оболонці? Я маю на увазі просто exec, без жодних параметрів.

Що щодо сценарію?

Якщо вона щось робить, то що робить?


Можливо, вам буде цікаво прочитати відповіді на пов’язане запитання. Чим відрізняється eval від exec? Вони вже суттєво висвітлюють те, що вже було зроблено двома відповідями, а потім висвітлюють додаткову інформацію
Сергій Колодяжний

Відповіді:


3

Якщо команда не вказана, будь-які перенаправлення можуть набути чинності в поточній оболонці. Це коротка версія написаної на сторінці man. Я розумію, що коли execвиконується порожній, він не запускає нову оболонку, не вносить змін у поточний і повертає код 0, що означає, що він був виконаний без помилок.


1

Так:

Коли викликається командою як аргументом.

Зазвичай, коли ви виконуєте команду, вона викликає forkі exec(плюс труба тощо). Але коли ви додаєте execна початку (наприклад exec ls), він не викликає fork, тому оболонку замінює команда. Тобто команда виконується в тому ж процесі, що і в оболонці (оболонки більше не існує).

При виклику без команди.

Він застосовує переадресації, які потім впливають згодом.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.