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

Re: Duda sobre nohup



Quoting Iñaki <ibc2@euskalnet.net>:



Claro que sí, de hecho había sido un descuido. Ya había usado anteriormente
cosas parecidas lo que pasa es que (no sé porqué) yo prefiero usar:
   $(comando...)
en vez de:
    `comando...`
pero no me preguntes porqué. El caso es que siempre que lo he probado me da
idénticos resultados pero en esta lista ya he oído que tienen algún matiz que
los diferencia.


En ese caso ambos dan el mismo resultado en bash, pero si utilizas $(...) el
script no será portable a los shell sh y ksh clásicos, lo que te dará igual
si no vas a usar más que linux o algún Unix comercial muy moderno. Si
administras
algún Unix de hace añitos entonces agradecerás haber hecho el script usando
`..`
porque si no te toca ver como instalar bash a dicho Unix o mantener una
versión
distinta del script que ya utilizabas en el resto de equipos.

Por otro lado, $( ...) tiene en ciertos casos una enoooorme ventaja: puedes
anidarlos, cosa que con `...` es imposible. Ejemplo:
 [domingo@toboso domingo]$ cat uno
 1
 [domingo@toboso domingo]$ cat dos
 2
 [domingo@toboso domingo]$ echo "hola-`cat uno`"
 hola-1
 [domingo@toboso domingo]$ echo "hola-$(cat uno)"
 hola-1
 [domingo@toboso domingo]$ cat cual
 uno
 [domingo@toboso domingo]$ echo "hola-$(cat $(cat cual))"
 hola-1

Si ahora
 [domingo@toboso domingo]$ cat cual
 dos
pues tendremos
 domingo@toboso domingo]$ echo "hola-$(cat $(cat cual))"
 hola-2

En el ejemplo conseguimos en una sola línea y comando que a la cadena hola
se le añada el contenido de un fichero cuyo nombre (el del fichero) es
seleccionado a partir del contenido de otro fichero. Hay bastante situaciones
en las que es útil para ahorrar líneas de script o pq no me queda más remedio
que hacerlo en un único comando entre pipes disponer de la salida de
un comando
tal que la cadena de texto que define el comando a ejecutar depende a
su vez de
la salida de otro comando (o de varios al mismo nivel o de más profundidad).
Je, je, así podrás hacer cosas como:
 comando1 "texto...$($(comando2) -res $(comando3))..mas texto"

UN SALUDO  DOMINGO S R

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.



Reply to: