Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/05/2006, 05:24
gazpachoymochil
 
Fecha de Ingreso: febrero-2005
Mensajes: 105
Antigüedad: 19 años, 9 meses
Puntos: 1
Programación en Bash

Hola, a ver si alguien puede ayudarme. Estoy intentando hacer un script al que se le pasan 2 ficheros cuyo contenido ahora explicaré...

Tengo un programa llamado espejo al que lepaso una cadena, y al ejecutarse me devuelve la cadena pero invertida.

Pues bien, al script que estoy intentando hacer le paso como parámetros dos ficheros, uno con la entrada al programa espejo y otro con la salida esperada. Este script tiene que ejecutar el programa espejo y compara la salida con la salida esperada.

Mi problema es que no sé como hacer que se ejecute el programa espejo para almacenar su resultado en una variable que después usaré para compararla con el contenido del fichero de salida deseada del script.

El código que tengo es:

#!/bin/bash

echo ""

# Comprobamos el número de parámetros de entrada.
if [ $# -ne 2 ] ; then
echo "el script requiere 2 argumentos."
echo ""
exit 1
fi

# Comprobamos que los parámetros son ficheros.
for cont in $* ; do
if [ ! -f $cont ] ; then
echo "El parámetro $cont no es un fichero."
echo ""
exit 1
fi
done

# Ejecutamos el programa y el resultado lo almacenamos en la variable res.
# Compararemos el contenido de res con la salida esperada (salida_script1).
aux=$(cat entrada_script1)
echo $aux
AQUÍ es donde, pruebe lo qu epruebe no sé resolver, me da error si hago: res=$(espejo entrada_script1)


echo ""


Si tubiera algo de ayuda os lo agradecería, please. Gracias!!!

Última edición por gazpachoymochil; 15/05/2006 a las 05:29