On Wed, 16 Aug 2006, Mihai Maties wrote:

Right, imi aduc aminte ca citisem undeva acum cativa ani ca ar fi comenzi
externe si nu m-am mai obosit sa verific.

Exista si acum aceste comenzi externe, insa e probabil ca bash sa nu le mai foloseasca pe alea pentru ca deja are un interpretor destul de complex, puternic si bine pus la punct, ar fi aiurea ca pentru a evalua o expresie sa treaca prin toata suita fork()+exec()+wait() etc.

        Si intr-adevar asa este. Daca faci un script simplu:

#!/bin/bash

/usr/bin/test -x /bin/ping && echo ok
test -x /bin/ping && echo ok
[ -x /bin/ping ] && echo ok

si dai un strace -f pe el ai sa vezi ca face exec() numa in primul caz, cind e apelat explicit test din /usr/bin/test, in celelalte 2 cazuri face fix acelasi lucru, si anume apeleaza access(2). Cum /usr/bin/test face si el tot access(2) (logic) nu are sens sa chemi explicit /usr/bin/test.
        Deci concluzia e ca test si [ sint interne bash.

--
Any views or opinions presented within this e-mail are solely those of
the author and do not necessarily represent those of any company, unless
otherwise expressly stated.

_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui