Linux/Unix Shell Scripting - no encuentro el erro

   
Vista:

no encuentro el erro

Publicado por nazareno (2 intervenciones) el 26/10/2008 03:22:08
Hola tengo este codigo y no puedo encontrar el porque la funcion no me devuelve el resultado, debe ser algo facil pero no logro darme cuenta si alguien me podria ayudar se lo agradeceria

#!/bin/bash
C="2312+2334"

function siguiente
{
#echo $1
#echo ${#C}
for i in $(seq $1 ${#C});do
if [ "${C:$i:1}" == "+" ];then
return $i
fi
done
}

echo $(siguiente 0)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:no encuentro el erro

Publicado por xae (9 intervenciones) el 26/10/2008 20:01:30
Has mezclado conceptos, el valor de retorno de una función, return $i, no tiene nada que ver con lo que la función vuelca en la salida estándard, que es lo que obtienes con 'echo $(siguiente 0)'.

Debes hacer lo siguiente para obtener el resultado devuelto por return.

siguiente 0
echo $?

La variable $? contiene el valor devuelto por la última función ejecutada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no encuentro el error

Publicado por naza (2 intervenciones) el 28/10/2008 18:29:58
muchas gracias me sirvio era para hacer una calculadora despues de muchos intentos me salio

#!/bin/bash

let a=$1

echo $a

muchas gracias...por la onda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar