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