![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí. |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| rsh script con el interior de un bucle for | trekianov | Programación de scripts de shell y | 5 | 12-06-2008 12:39 PM |
| bucle while problemas | amatuer_lee_3 | Programación de scripts de shell y | 7 | 05-13-2008 01:48 AM |
| Ejecución de secuencias de comandos no segundo bucle | marcarritmo | Programación de scripts de shell y | 2 | 05-07-2008 05:10 PM |
| Bucle while problemas | rcunn87 | Programación de scripts de shell y | 0 | 06-20-2006 05:26 PM |
| no estaba muy seguro de cómo bucle este script! | moxxx68 | Programación de scripts de shell y | 3 | 09-09-2004 08:00 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Problemas con un si / entonces bucle dentro de un script
Hola,
He escrito un script para limpiar archivos de registro de la var / tmp dir. Funciona hasta cierto punto. Lo que necesitaba hacer era salir de la secuencia de comandos si no hay archivos que desea eliminar. Puedo conseguir trabajo en una secuencia de comandos de prueba pero cuando su aplicación en mi programa que los errores con un «no» a continuación, acompañada de error. Tengo que localizar a la línea en la secuencia de comandos: si [TEMP \u003d "0"]; a continuación, Alguien podría echar un vistazo a él y Teel me tengo que salió mal o me punto en la dirección correcta Rgds Colin Aquí está el extracto del guión que he creado: #! / bin / sh # # Establezca las variables locales USUARIO \u003d `/ usr / bin / whoami» CUENTA \u003d especificaciones HOSTNAME \u003d `/ usr / bin / hostname` FECHA \u003d `/ usr / bin / date +% Y% m% d" ` TEMP \u003d `find / var / tmp /-name" * joya "-atime +3 | wc-l» TEMPALL \u003d `find / var / tmp /-atime +3 | wc-l» # Purgar los archivos de registro antiguos find / usuarios / agaff / NoSpace / logs /-name "*. txt"-atime +1 | xargs rm-f # Pantalla principal claro echo "<1> GEM Eliminar archivos de registro de acogida:" $ HOSTNAME echo "<2> Eliminar todos los archivos en el directorio / var / tmp (sólo mantenimiento)" echo "<3> Salir - sin que se eliminen los archivos" echo "" echo "Introduzca 1 o 2 o 3" leer RESPUESTA if [$ RESPUESTA \u003d "1"] y, a continuación, claro echo "Examinar los archivos de registro para el anfitrión:" $ HOSTNAME echo "" if [$ TEMP \u003d "0"]; entonces # (esto es donde las bombas) eco eco echo "************************************************ *** " echo "No hay archivos de registro, debe suprimirse del anfitrión:" $ HOSTNAME eco elif [$ TEMP> "0"]; entonces echo "***********************************************" echo "Hay" $ TEMP "archivos de registro que puede ser eliminado de acogida:" $ HOSTNAME echo "" echo "" echo "<1> Borrar archivos de registro en GEM anfitriona" $ HOSTNAME "en el directorio / var / tmp directory" echo "<2> Salir - sin que se eliminen los archivos" echo "" echo "Introduzca 1 o 2" echo "" leer ANS1 if [$ ANS1 \u003d "1"] y, a continuación, claro echo "" echo "" echo "Borrar archivos de registro del GEM, los archivos de registro" mkdir-p / usuarios / agaff / NoSpace / logs / find / var / tmp /-name "* joya"-atime 3> / usuarios / agaff / NoSpace / registros / $ FECHA "-" $ HOSTNAME "-logs". txt | xargs-f> / dev / null 2> & 1 echo "" echo "************************************************ ************************" echo "Registros Tmp se suprime el 'log' y actualizada" echo "" echo "" elif [$ ANS1 \u003d "2"]; a continuación, echo "Salir" algo más echo "no válido de selección, de salir ..." salida fi |
|
||||
|
Muchas gracias por su ayuda
![]() ![]() Soy nuevo en Unix scripting y yo estoy aprendiendo como ir tan Evry poco de ayuda es bienvenida Ahora tengo un guión de trabajo |
|
||||
|
Sólo añadir mi 0.02c valor:
Hacer uso de sangrado en la redacción de guiones! Se hace el mantenimiento en su script SOOO sólo mucho más fácil. Tratando de encontrar un comando elif anidados en todo lo que entre "echo" "s fue algo bastante: #! / bin / sh # # Establezca las variables locales USUARIO \u003d `/ usr / bin / whoami» CUENTA \u003d Compaq HOSTNAME \u003d `/ usr / bin / hostname` FECHA \u003d `/ usr / bin / date +% Y% m% d" ` TEMP \u003d `find. -name "* joya" | wc-l » TEMPALL \u003d `find. | Wc-l » # Purgar los archivos de registro antiguos # find / usuarios / agaff / NoSpace / logs /-name "*. txt"-atime +1 | xargs rm-f # Pantalla principal claro echo "<1> GEM Eliminar archivos de registro de acogida:" $ HOSTNAME echo "<2> Eliminar todos los archivos en el directorio / var / tmp (sólo mantenimiento)" echo "<3> Salir - sin que se eliminen los archivos" echo "" echo "Introduzca 1 o 2 o 3" leer RESPUESTA if [$ RESPUESTA-eq "1"] y, a continuación, claro echo "Examinar los archivos de registro para el anfitrión:" $ HOSTNAME echo "" if [$ TEMP-eq "0"]; entonces # (esto es donde las bombas) eco eco echo "*******************************************" echo "No hay archivos de registro, debe suprimirse del anfitrión:" $ HOSTNAME eco elif [$ TEMP-gt "0"]; entonces echo "****************************************" echo "Hay" $ TEMP "archivos de registro que puede ser eliminado de acogida:" $ HOSTNAME echo "" echo "" echo "<1> Borrar archivos de registro en GEM anfitriona" $ HOSTNAME "en el directorio / var / tmp directory" echo "<2> Salir - sin que se eliminen los archivos" echo "" echo "Introduzca 1 o 2" echo "" leer ANS1 if [$ ANS1-eq "1"] y, a continuación, claro echo "" echo "" echo "Borrar archivos de registro del GEM, los archivos de registro" # mkdir-p / usuarios / agaff / NoSpace / logs / # find / var / tmp /-name "* joya"-atime 3> / usuarios / agaff / NoSpace / registros / $ FECHA "-" $ ANFITRIÓN NOMBRE "-logs". Txt | xargs-f> / dev / null 2> & 1 echo "" echo "*******************************************" echo "Registros Tmp se suprime el 'log' y actualizada" echo "" echo "" elif [$ ANS1-eq "2"] y, a continuación, echo "Salir" algo más echo "no válido de selección, de salir ..." salida fi fi fi Aquí nuestro endeth legibilidad lección para el día de hoy ... |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|