maiku escribió:
creo que hay muchas diferencias respecto a bash y java por lo que uno no te sirve para asegurar que va funcionar en el otro.
primero necesitas saber la existencia de un fichero por lo que entiendo debes ejecutar:
Código:
if [ -e $APP_HOME/LC_acumulacion $APP_HOME/LC_acumulacion.xml ] ; then
que no es lo mismo que usar el = (comparación entre caracteres ) y tampoco la comparación numéricas para un valor "igual" -eq
http://www.linux-es.org/node/238el problema no es de bash, es de conceptos.
Claramente existen diferencias entre ambos lenguajes, por ello hice una
analogia para mostrar mas técnicamente lo que necesitaba.
El problema no era si existen los archivos(siempre estarán y si no, se cae y la comparación sera correcta).
Grax por la ayuda.
-------------------------------------------------------------------------------------------------------------------------
Seguí dándole vuelta al tema y conseguí lo siguiente:
APP_HOME=/usuarios/exgesccr/lancorp/Shell;
acu=`$APP_HOME/LC_acumulacion $APP_HOME/LC_acumulacion.xml`;
echo "--------- Resultado Acu--------------------------------------------------------------------------------------"
echo $acu;
echo "--------- Fin Resultado Acu----------------------------------------------------------------------------------"
if echo $acu | grep "Cierre Archivos de Log"; then
echo "done"
else
echo "fail"
fi
Que funciona bien para lo que necesito. (No devolvió el int que estaba declarado en el fuente C++, sino que devolvió lo que imprime ese fuente)
Solo me queda si puedo optimizar eso, o lograr capturar el valor que devuelve el fuente(no se si se puede).
Si alguien me ayuda, o lo logro alguna mejora a lo que ya tengo, lo pongo acá y edito el asunto como solucionado
Saludos