Re: Нужен ли bash
On Sun, Sep 28, 2008 at 05:51:30PM +0300, Dmitry Nezhevenko wrote:
> > make вызывает shell для исполнения записанных в нём команд.
>
> В общем случае -- нет
Как раз в общем случае --- да, а Вы привели случай частный.
> > > Синтаксис Makefile на наличие шелла никак не завязан.
>
> ---[ cut here ]---
> all:
> sleep 60
> \end{cut}
> ---
>
> А теперь запускаем это и смотрим:
> 17104 pts/5 Ss 0:00 /bin/zsh
> 17150 pts/5 S+ 0:00 \_ make
> 17151 pts/5 S+ 0:00 \_ sleep 60
>
> Где тут шелл, вызванный мейком? Если не убедило -- запусти strace make
> и глянь там =)
Да, согласен, в этом случае make разберётся и выполнит команду напрямую,
однако если записать так:
all:
sleep 60; sleep 60
то ему придётся вызвать шелл (и он таки его вызовет). А это значит, что
синтаксис мейкфайла непосредственно связан с синтаксисом POSIX-шелла. По
факту даже не каждое встроенное правило сможет обойтись без шелла.
--
Andrey V. Kiselev
ICQ# 26871517
Reply to: