Tengo problemas para analizar el resultado del comando de tiempo en bash, e incluso para evitar que imprima su salida cuando lo llamo. Este es mi código de prueba:Comando de esfuerzo para analizar (bash)
#!/bin/bash
TIME=`time ls -lh > /dev/null`
echo "Testing..."
echo $TIME
este momento, imprime:
{blank-line}
real 0m0.064s
user 0m0.002s
sys 0m0.005s
Testing
{blank-line}
Por lo tanto, parece que el valor asignado a $TIME
es la línea en blanco al comienzo del tiempo de impresión. Necesito obtener el valor de segundos de la línea sys, es decir, el "0.005". Tengo la garantía de que solo tendré segundos, así que no necesito nada antes de la "m"; sin embargo, la parte de segundos puede tener la forma de xx.xxx si va> = 10 segundos. Actualmente no tengo idea de cómo suprimir la salida de 'tiempo', capturarlo todo en lugar de la línea en blanco, ni analizarlo para obtener los valores que necesito.
Cualquier ayuda sería muy apreciada ...
Ah, no me daba cuenta de que la producción tiempo para 'STDERR'. ¿Cómo puedo capturar eso en la variable '$ TIME' entonces? – Stephen