Asignar la salida de un comando a una variable (Bash Script)
En algunos casos puede que queramos guardar la salida de un comando o instrucción en una variable, para su posterior uso en el script. La sintaxis sería la siguiente:
variable = `comando`
A continuación vemos un ejemplo para entenderlo mejor.
Crear un directorio que tenga como nombre la fecha actual
Utilizando lo visto anteiormente, se crea una carpeta en la que su nombre es la fecha actual con el formato yyyy-mm-dd:
#!/bin/bash
fecha=`date +"%Y-%m-%d"`
mkdir fecha
El nombre de la carpeta tendía la siguiente estructura: 2012-10-17 .
Como siempre, podéis utilizar los comentarios para exponer vuestras dudas.
Tweet
muchas gracias me sirvio demaciado
Me alegro de que te sirviera.
Saludos cordiales.
Buenas. Estoy buscando info al respecto, ya que uso en un script ese método pero para buscar la fecha de dentro de 15 minutos. Mi script es el siguiente :
#!/bin/bash
minutos=15
aAlfa="date +\"%Y-%m-%dT%H:%M\" -d '+ "
aAlfa+=${minutos}
aAlfa+=" min'"
echo $aAlfa
aAlfa=`$aAlfa`
La salida del script es la siguiente :
date +"%Y-%m-%dT%H:%M" -d '+ 15 min'
date: extra operand `15'
Try `date --help' for more information.
Mientras que si directamente copio la primera linea de la salida (date +"%Y-%m-%dT%H:%M" -d '+ 15 min') y la ejecuto manualmente el resultado es el que yo quiero :
2015-09-12T10:32
¿ Que es lo que hago mal ?
Gracias por adelantado
Hola Ringfstork.
Pon en tu script lo siguiente:
#!/bin/bash
date +"%Y-%m-%dT%H:%M" -d '+ 15 min'
Verás como sí funciona.
Saludos.
Hola Ringfstork No se mucho del tema , pero quizá las comillas que encierran el comando deban ser simples, o prueba $(comando) ademas no conozco el comando que ejecutas pero no es el mismo el de el script que el que ejecutas directamente en bash, porque el del el script en el momento de ejecutarse le falta "15 min"
VARIABLE = (`comando -opcion fichero | comando | comando`)
Muy claro y sencillo de entender, muchas gracias! Solo hay que cuidar sintaxis. En el caso de usar corchetes, aconsejaría usar solo ``!
Muchas gracias. Todos los comentarios con la intención de ayudar serán bienvenidos.
Saludos.
Publicar un comentario