Sistemas Operativos > GNU/Linux
Script Con Funciones
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
[#] Página Siguiente
Ir a la versión completa