Sistemas Operativos > GNU/Linux

 Script Con Funciones

(1/2) > >>

arielb:
Que tal amigos, a ver si me dan una orientacion con, que estoy haciendo mal con script


--- Código: Text ---#/bin/sh cd /home/Juez if ls -L Ejecutar.sh then   echo "Existe archivo"   cat Ejecutar.sh |while read cdIP   do      echo $cdIP      HacerPing $cdIP   doneelse   echo "no existe"fi function HacerPing{   ping $1 -w 1 > prueba.txt} 
Mi problema est'a en la ejecucion de la funcion.

su -:

--- Cita de: "juez" --- Que tal amigos, a ver si me dan una orientacion con, que estoy haciendo mal con script


--- Código: Text ---#/bin/sh cd /home/Juez if ls -L Ejecutar.sh then   echo "Existe archivo"   cat Ejecutar.sh |while read cdIP   do      echo $cdIP      HacerPing $cdIP   doneelse   echo "no existe"fi function HacerPing{   ping $1 -w 1 > prueba.txt} 
Mi problema est'a en la ejecucion de la funcion.
--- Fin de la cita ---
el problema esta en el if, la estructura lo estas haciendo mal, es:
if [ "ls -L ejecutar.h" ]; then...
aunque aqui es mejor usar -e:
if [ -e "ejecutar-h"]

su -:
Ahhh, si le falta ;; al final al final de la funcion.
Por cierto, ¿La funcion no se llama con un ), es decir HacerPing) parametros?

--- Código: Text ---#/usr/bin/env bashcd $HOME if [-f "Ejecutar.sh"] then  echo "Existe archivo"  cat Ejecutar.sh |while read cdIP  do     echo $cdIP     HacerPing $cdIP  doneelse  echo "no existe"fi function HacerPing {  ping $1 -w 1 > prueba.txt};; Bueno mas o menos, si tienes problemas... solo postea.

arielb:
Que tal su gracias por tu ayuda mira de la forma que yo lo tenia hecho me envia este mensaje en la consola cuando lo ejecuto.
De esta forma encuentra el archivo y lo le pasando el ciclo, pero al llamar la funcion es que envia el error.


--- Citar ---Revisar.sh: line 11: HacerPing: command not found
Revisar.sh: line 18: syntax error near unexpected token `ping'
Revisar.sh: line 18: `  ping $1 -w 1 > prueba.txt'
--- Fin de la cita ---

y de la forma que tu propones me sale lo siguiente, y no encuentra el archivo

--- Citar ---Revisar.sh: line 4: [-f: command not found
no existe
Revisar.sh: line 19: syntax error near unexpected token `;;'
Revisar.sh: line 19: `;;'
--- Fin de la cita ---

arielb:
Bueno lo coloque de esta manera y ahora si me funciona. gracias


--- Citar ---#/bin/sh
cd $HOME

function HacerPing {
 ping $1 -w 1 > prueba.txt
}

if  ls -L Ejecutar.sh; then
 echo "Existe archivo"
 cat Ejecutar.sh |while read cdIP
 do
    echo $cdIP
    HacerPing $cdIP
 done
else
 echo "no existe"
fi
--- Fin de la cita ---

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa