Shell, método de interacción automática

  

¿Entiendes el sistema Linux? ¿Eres una aplicación de sistema Linux? Si desea aprender Linux, puede encontrar el problema de interacción automática de Shell de Linux, aquí presentará la solución de interacción automática de Shell de Linux, para compartir con usted. Primero, el script de shell de fondo puede ahorrar mucho tiempo en el manejo de bucles automáticos o tareas grandes. Al crear una lista de comandos para procesar tareas, usar variables, condiciones, aritmética y bucles para crear rápidamente scripts para completar el trabajo, esto es mejor que Se necesita mucho tiempo y esfuerzo para escribir los comandos uno por uno en la línea de comandos. Pero a veces es posible que tengamos que implementar la interacción con programas interactivos como ftp, servidor telnet, etc. En este momento, necesitamos usar la función de interacción automática del shell, este artículo recopila tres métodos de interacción automática que se usan comúnmente y los compara. Y resumen. Segundo, la demanda Demanda 1: desde un inicio de sesión de ftp de una máquina Linux a otra máquina de Linux, después de una serie de operaciones cerradas, demasiado perezoso para ingresar manualmente la contraseña cada vez. Requisito 2: cambie la contraseña del usuario de inicio de sesión, demasiado perezoso para ingresar contraseñas nuevas y antiguas cada vez. Requisito 3: Deseo que su inicie sesión en la cuenta raíz automáticamente. Soy demasiado vago para ingresar la contraseña de root cada vez. Tercero, el terminal del entorno de depuración: Sistema SecureCRT: WinXP, CentOS 4.4 (VmWare)

Shell: bash Nota: Hay muchos tipos de shell, el comportamiento de la clase B SHELL (sh, bash, ksh) es similar; la clase C SHELL (csh, tcsh) el comportamiento es similar, hay shells como zsh y rc, el entorno de depuración de este artículo es bash. Cuarto, el método de interacción automática La parte más crítica de la interacción automática es la entrada automática de información interactiva, primero piense en la redirección de archivos, existe un uso de este tipo en la programación de shell (consulte la guía de programación de Linux y UNIX SHELL chapt 5.7): " comando < < delimitador lee desde la entrada estándar hasta que encuentra el delimitador delimitador. El comando " operador de redirección < < delimitador es un comando muy útil, la shell tomará todo el contenido antes del delimitador delimitador hasta que aparezca el siguiente delimitador siguiente, encuentre el siguiente delimitador, la shell Sé que la entrada ha terminado. El delimitador delimitador más común es EOF y, por supuesto, puede personalizarlo para otros caracteres. Para el ftp de inicio de sesión automático requerido por el requisito 1, y para una serie de operaciones, este método puede usarse para la interacción automática. El código es el siguiente: 1. #! /Bin /bash 2. ftp -i -n 192.168.167.187 < < EOF 3. usuario hzc 123456 4. pwd 5. cd prueba 6. pwd 7. cerrar 8. bye 9. EOF Se pueden encontrar pruebas, el código anterior utiliza el nombre de cuenta hzc, la contraseña 123456 se conectó con éxito en el servidor ftp e ingresó al directorio, imprimió pwd. V. El requisito 2 del Método 2 de interacción automática requiere una forma no interactiva de cambiar la contraseña de usuario de inicio de sesión. Pruebe el Método 1 y no se puede implementar. Este es otro método de entrada automática que asocia información interactiva, canalización, a través de echo + sleep + |  Esto se puede lograr. 1. #! /Bin /bash 2.
(echo " curpassword " 3. sleep 1 4. echo " newpassword " 5. sleep 1 6. echo " newpassword ") | Pase de prueba de Passwd, ejecute este script, cambie directamente la contraseña del usuario actual a newpassword. En sexto lugar, el método 3 de interacción automática requiere que el inicio de sesión automático en la cuenta raíz, intente con el Método 1 y el Método 2, ambos tengan un mensaje de error estándar debe ser un tty. En este momento, intente encontrar ayuda externa, una herramienta de shell puede lograr esta función, de hecho, esperar es una herramienta para la función de interacción automática, la sintaxis de espera puede hacer referencia a la información relevante, el código es el siguiente: 1. #! /Usr /bin /Espere 2. genere su raíz 3. espere " contraseña: " 4. envíe " 123456 \\ r " 5. espere eof 6. salga de Test, ejecute este script e inicie sesión directamente desde el usuario actual al usuario root. VII. Resumen del método El método 1 (redirección) es simple e intuitivo, y con frecuencia tiene aplicaciones prácticas, pero tiene funciones limitadas en el campo de la interacción automática. El Método 2 (canalización) también es muy simple e intuitivo, a veces incluso sin dormir, puede mostrar una fuerte fuerza de interacción automática, pero en algún momento no puede hacer nada al respecto. El método 3 (expectativa) es la función más poderosa. La expectativa se creó originalmente para realizar una función interactiva automática, pero la desventaja es que necesita instalar el paquete expect, que es difícil de instalar en un entorno integrado. Los tres métodos tienen sus propias ventajas y desventajas, y la aplicación es buena, y el Shell de Linux puede interactuar automáticamente.

Copyright © Conocimiento de Windows All Rights Reserved