Discussion:
Pregunta bash
Edgardo
2012-05-21 00:43:21 UTC
Permalink
Buenas noches, estaba googleando y de repente me apareció una linea de
bash escrita así:
mv /home/user/user.conf{,.old}

estimo que lo que hace es renombrar el archivo user.conf a user.conf.old
pero mi pregunta puntual seria ¿Qué catzo es esa expresión y dónde
puedo leer para saber más?

saludos
--
Edgardo - AE03 F3C4 43DE 1A95 2834 D193 82B2 1018 5F81 3708
Rodrigo Campos
2012-05-21 01:18:53 UTC
Permalink
Post by Edgardo
Buenas noches, estaba googleando y de repente me apareció una linea de
mv /home/user/user.conf{,.old}
estimo que lo que hace es renombrar el archivo user.conf a user.conf.old
pero mi pregunta puntual seria ¿Qué catzo es esa expresión y dónde
Las "{" las expande bash. Con la "," lo que esta diciendo es todo lo que estaba
antes de la llave, y el ".old" es lo que estaba antes de la llave concatenado
con ".old". Se expande a esas dos cosas, separadas por espacios

Fijate que con "echo /home/user/user.conf{,.old}" podés ver bien a qué se
expande esa expresión y vas a ver que tiene sentido hacer ese mv :-D
Post by Edgardo
puedo leer para saber más?
man bash. En la sección Expansion --> Brace Expansion. De hecho, hay ejemplos
parecidos al que pusiste me parece, mirando rapidamente :-)






Saludos,
Rodrigo
Horacio Degiorgi
2012-05-21 02:47:56 UTC
Permalink
Post by Rodrigo Campos
Post by Edgardo
Buenas noches, estaba googleando y de repente me apareció una linea de
mv /home/user/user.conf{,.old}
estimo que lo que hace es renombrar el archivo user.conf a user.conf.old
pero mi pregunta puntual seria ¿Qué catzo es esa expresión y dónde
Las "{" las expande bash. Con la "," lo que esta diciendo es todo lo que estaba
antes de la llave, y el ".old" es lo que estaba antes de la llave concatenado
con ".old". Se expande a esas dos cosas, separadas por espacios
Fijate que con "echo /home/user/user.conf{,.old}" podés ver bien a qué se
expande esa expresión y vas a ver que tiene sentido hacer ese mv :-D
Post by Edgardo
puedo leer para saber más?
man bash. En la sección Expansion --> Brace Expansion. De hecho, hay ejemplos
parecidos al que pusiste me parece, mirando rapidamente :-)
Saludos,
Rodrigo
si te interesa el bash y derivados te recomiendo
http://www.commandlinefu.com/commands/browse ejemplos buenos, malos y
mejores
--
Horacio Degiorgi
http://bdigital.uncu.edu.ar
http://pangeawebs.com.ar
Mendoza - Argentina
Alfredo Daniel Rezinovsky
2012-05-21 11:07:10 UTC
Permalink
Post by Horacio Degiorgi
Post by Rodrigo Campos
Post by Edgardo
Buenas noches, estaba googleando y de repente me apareció una linea de
mv /home/user/user.conf{,.old}
estimo que lo que hace es renombrar el archivo user.conf a user.conf.old
pero mi pregunta puntual seria ¿Qué catzo es esa expresión y dónde
Las "{" las expande bash. Con la "," lo que esta diciendo es todo lo que estaba
antes de la llave, y el ".old" es lo que estaba antes de la llave concatenado
con ".old". Se expande a esas dos cosas, separadas por espacios
Fijate que con "echo /home/user/user.conf{,.old}" podés ver bien a qué se
expande esa expresión y vas a ver que tiene sentido hacer ese mv :-D
Post by Edgardo
puedo leer para saber más?
man bash. En la sección Expansion --> Brace Expansion. De hecho, hay
ejemplos
parecidos al que pusiste me parece, mirando rapidamente :-)
Saludos,
Rodrigo
si te interesa el bash y derivados te recomiendo
http://www.commandlinefu.com/commands/browse ejemplos buenos, malos y
mejores
http://tldp.org/LDP/abs/abs-guide.pdf

Eso es interesante para leerlo entero.
Edgardo
2012-05-22 22:52:52 UTC
Permalink
Muchas gracias Rodrigo, Horacio y Alfredo!
Voy a leer para desburrarme un poco jeje
un abrazo
--
Edgardo - AE03 F3C4 43DE 1A95 2834 D193 82B2 1018 5F81 3708
Loading...