[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: