El Miércoles, 6 de Junio de 2007, Luis Rodrigo Gallardo Cruz escribió: > On Wed, Jun 06, 2007 at 10:33:12PM +0200, Iñaki Baz Castillo wrote: > > El Miércoles, 6 de Junio de 2007, Luis Rodrigo Gallardo Cruz escribió: > > > $() captura dicha salida (es igual que ``, pero más legible) > > > > Y más potente pues permite recursividad en plan: > > > > SALIDA=$(echo $(grep "fichero1" < lista-$(NUMERO).txt)) > > > > cosa que con `` no se puede hacer. XD > > Estríctamente hablando, sí se puede. "Sólo" resulta ilegible: > > SALIDA=`echo \`grep algo <fichero\``
Pues no parece que funcione muy bien, algo raro hace: * Con $( ): ~$ user=root ; SALIDA=$(cat /etc/passwd | grep $(echo $user)) ; echo $SALIDA root:x:0:0:root:/root:/bin/bash * Con ``: ~$ user=root ; SALIDA=`cat /etc/passwd | grep `echo $user`` ; echo $SALIDA Modo de empleo: grep [OPCIÓN]... PATRÓN [FICHERO]... Pruebe `grep --help' para más información. bash: root: orden no encontrada * Mezclado $(``): ~$ user=root ; SALIDA=$(cat /etc/passwd | grep `echo $user`) ; echo $SALIDA root:x:0:0:root:/root:/bin/bash * Mezclado `$()`: ~$ user=root ; SALIDA=`cat /etc/passwd | grep $(echo $user)` ; echo $SALIDA root:x:0:0:root:/root:/bin/bash Vamos, que de la única forma que no funciona es metiendo `` dentro de ``. ¿Seguro que debería funcionar? siempre he pensado que no. Bueno, no obstante resulta tan horrible que ni aunque funcione ;) Saludos. -- Iñaki Baz Castillo