5 scripts de shell para Linux Newbies para aprender la programación de shell - Parte II

5 scripts de shell para Linux Newbies para aprender la programación de shell - Parte II

Para aprender algo que necesitas hacerlo, sin temor a no tener éxito. Creo en la practicidad y, por lo tanto, te acompañaré al mundo práctico del lenguaje de secuencias de comandos.

Aprender scripting de shell básico

Este artículo es una extensión de nuestro primer artículo Comprender el shell de Linux y las secuencias de comandos básicas de la carcasa - Part I, donde le dimos una idea de las secuencias de comandos, continuando que no le decepcionaremos en este artículo.

Script 1: dibujar un patrón especial

#!/bin/bash max_no = 0 echo -n "Ingrese el número entre (5 a 9):" Leer max_no si ! [$ Max_no -ge 5 -a $ max_no -le 9]; Entonces echo "WTF ... pido que ingrese el número entre 5 y 9, intente nuevamente" Salir 1 Fi claro para ((i = 1; i = i; s--)) hacer eco -n "" hecho para ((j = 1; J<=i; j++ )) do echo -n " ." done echo "" done ###### Second stage ###################### for (( i=MAX_NO; i>= 1; i--)) hacer para ((s = i; s<=MAX_NO; s++ )) do echo -n " " done for (( j=1; j<=i; j++ )) do echo -n " ." done echo "" done echo -e "\n\n\t\t\t Whenever you need help, Tecmint.com is always there"

La mayor parte de lo anterior 'palabras clave'sería conocido por usted y la mayoría de ellos se explican por sí mismos. mi.gramo., Máximo Establece el valor máximo de la variable, ya que es un bucle y cualquier cosa dentro del bucle se ejecuta una y otra vez hasta que el bucle sea válido para el valor dado de la entrada.

Salida de muestra
[[correo electrónico protegido] ~]# chmod 755 special_pattern.sh [[correo electrónico protegido] ~]# ./Special_pattern.SH Ingrese el número entre (5 a 9): 6 ... Siempre que necesite ayuda, Tecmint.com siempre está ahí

Si está un poco consciente de cualquier lenguaje de programación, aprender el script anterior no es difícil, incluso si es nuevo en el cálculo, la programación y Linux, no será mucho difícil.

Descargar especial_pattern.mierda

Script 2: Creación de script coloridos

Quien dice, Linux es incoloro y aburrido, guarde los códigos a continuación en cualquier cosa [punto] mierda, Hazlo ejecutable y ejecutarlo, no olvides decirme cómo era, piensa qué puedes lograr, implementándolo en algún lugar.

#!/bin/bash clear echo -e "33 [1M Hello World" # Efecto audaz echo -e -e "33 [5m Blink" # Efecto de parpadeo echo -e "33 [0m Hello World" # Volver a Echo -Echo -e "33 [33 [ 31m Hello World " # Red Color Echo -e" 33 [32m Hello World " # Green Color Echo -e" 33 [33m Hello World " # Consulte restante en la pantalla Echo -e" 33 [34m Hello World "Echo -e" 33 33 [35m Hello World "Echo -e" 33 [36M Hello World "Echo -e -n" 33 [0m " # Volver a ECHO -E -E" 33 [41M Hello World "Echo -e" 33 [42M Hello World "ECHO -E "33 [43m Hello World" Echo -e "33 [44m Hello World" Echo -e "33 [45m Hello World" Echo -e "33 [46m Hello World" Echo -e "33 [0m Hello World"

Nota: No se preocupe por el código de color ahora, aquellos importantes para usted estarán en su lengua, gradualmente.

Advertencia: Es posible que su terminal no tenga la instalación de parpadeo.

Salida de muestra
[[correo electrónico protegido] ~]# chmod 755 colorfull.sh [[correo electrónico protegido] ~]# ./Colorfull.sh hello World World Hello Hello World World Hello World World World World World World World World Hello World World World World World World World World World World World World Hello World

Descargar colorfull.mierda

Script 3: Cifrar un archivo/directorio

Este script encriptará un archivo (recordar? directorio/conductor/.. . Todo se trata como archivo, en Linux). La limitación actual del script anterior es que no admite la finalización automática del nombre usando PESTAÑA. Además, debe colocar el script y el archivo para estar encriptados en la misma carpeta. Es posible que deba instalar "pinentry-gui", usando beque o apto el paquete, si es necesario.

[[correo electrónico protegido] ~]# yum instalación Pinentry-gui [[correo electrónico protegido] ~]# apt-get install Pinentry-gui

Crete un archivo llamado "Encriptar.mierda"Y coloque el siguiente script, hágalo ejecutable y ejecutarlo como se muestra.

#!/bin/bash echo "bienvenido, estoy listo para cifrar un archivo/carpeta para usted" echo "Actualmente tengo una limitación, colóquame en la misma carpeta, donde un archivo para estar encriptado está presente" echo "Ingrese el archivo exacto Nombre con extensión "Lea el archivo; GPG -C $ archivo echo "He cifrado el archivo con éxito ..." echo "Ahora eliminaré el archivo original" RM -RF $ archivo

Salida de muestra

[[correo electrónico protegido] ~]# chmod 755 encrypt.sh [[correo electrónico protegido] ~]# ./CIRRYPT.SH Bienvenido, estoy listo para cifrar un archivo/carpeta para usted Actualmente tengo una limitación, colóquame en la misma carpeta, donde un archivo que se encriptará está presente Ingrese el nombre de archivo exacto con el paquete de extensión.XML ┌─────uevo ─────┐ │ Ingrese la frase de pases │ │ │ │ │ │ Passfrase ******* _________________________________ │ │ │ │ │ └ └─ig. ──────ella razón ───── razón Esta frase de pases │ │ │ │ frase de pases ********** ________________________________ │ │ │ │ │ └ └─igulo. ───── razón 

GPG -C : Esto encriptará su archivo, utilizando un PassKey, también conocido como contraseña. En este proceso de aprendizaje, nunca hubiera pensado que el proceso real de aprendizaje podría ser tan fácil. Entonces, después de encriptar un archivo lo que necesita? Obviamente! descifrar el archivo. Y te quiero: el alumno, el lector escriba el script de descifrado usted mismo, no te preocupes, no te dejo en el medio, solo quiero que obtengas algo de este artículo.

Nota: GPG -d Nombre de archivo.gpg > Nombre del archivo es lo que necesita implementar en su script de descifrado. Puede publicar su script en comentarios si tiene éxito, si no puede pedirme que lo escriba para usted.

Descargar cifrado.mierda

Script 4: Comprobando la utilización del servidor

Verificar la utilización del servidor es una de las tareas importantes de un administrador, y un buen administrador es aquel que sabe cómo automatizar su tarea diaria. A continuación se muestra el script que dará muchas de esas información sobre su servidor. Compruébalo tú mismo.

#!/bin/fecha de bash; echo "tiempo de actividad:" tiempo de tiempo de echo "actualmente conectado:" w echo "--------------------" echo "Últimos inicios de sesión:" Last -a | head -3 echo "--------------------" Echo "Disco y uso de memoria:" DF -H | Xargs | AWK 'imprimir "disco gratuito / total:" $ 11 " /" $ 9' gratis -m | Xargs | AWK 'imprima "Free / Total Memory:" $ 17 " /" $ 8 "MB"' echo "--------------------" START_LOG = "Head -1 /var/log/mensajes | CUT -C 1-12 "oom =" grep -ci kill/var/log/mensajes "echo -n" errores de oom desde $ start_log: "$ oom echo" "echo" ----- ---------------- "ECHO" Utilización y procesos más caros: "Top -B | Head -3 Echo Top -B | Head -10 | Tail -4 Echo" --- ----------------- "Echo" Abra los puertos TCP: "NMAP -P- -T4 127.0.0.1 echo "--------------------" Echo "Conexiones actuales:" SS -S Echo "--------------- ----- procesos "echo": "PS auxf --width = 200 echo" -------------------- "echo" vmstat: "vmstat 1 5
Salida de muestra
[[correo electrónico protegido] ~]# chmod 755 servidor-salud del servidor.sh [[correo electrónico protegido] ~]# ./Servidor-salud.sh mar 16 de julio 22:01:06 IST 2013 Tiempo de actividad: 22:01:06 Up 174 días, 4:42, 1 usuario, promedio de carga: 0.36, 0.25, 0.18 Actualmente conectado: 22:01:06 Up 174 días, 4:42, 1 usuario, promedio de carga: 0.36, 0.25, 0.18 usuarios de [correo electrónico protegido] pcpu jcpu inactivo qué tecmint pts/0 116.72.134.162 21:48 0.00s 0.03s 0.03S SSHD: Tecmint [priv] -------------------- Últimos inicios de sesión: TecMint PTS/0 martes 16 de julio 21:48 Todavía registrado en 116.72.134.162 TECMINT PTS/0 TUE 16 JUL 21:24 - 21:43 (00:19) 116.72.134.162 ----------------- ------------- Errores de OOM desde el 14 de julio 03:37: 0 -------------------- Utilización y procesos más caros: arriba - 22:01:07 Up 174 días, 4:42, 1 usuario, promedio de carga: 0.36, 0.25, 0.18 Tareas: 149 Total, 1 en ejecución, 148 durmiendo, 0 detenido, 0 CPU (s) zombie: 0.1%nosotros, 0.0%SY, 0.0%Ni, 99.3%de identificación, 0.6%WA, 0.0%hola, 0.0%SI, 0.0 %ST PID User pr Ni Virt Res Shr S %CPU %MEM Tiempo+ Comando 1 Root 20 0 3788 1128 932 S 0.0 0.0 0:32.94 init 2 raíz 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root rt 0 0 0 0 s 0.0 0.0 0:14.07 migración/0

Nota: Te he dado el script que da la salida en el terminal en sí, ¿qué tal obtener la salida en un archivo para referencia futura. Implementarlo utilizando el operador de redirección.

  1. '>': El operador de redirección causa una creación de archivos, y si existe, el contenido se sobrescribe.
  2. '>>': Cuando usa >>, está agregando información, en lugar de reemplazarla.
  3. '>>'es seguro, en comparación con'>'

Descargar la salud del servidor.mierda

Script 5: Verifique el espacio del disco y envía una alerta de correo electrónico

¿Qué tal recibir un correo electrónico cuando se usa el disco en la partición? PARTE es más grande que el máximo permitido, es un script de ahorro de vida para administradores web con poca modificación.

Max = 95 [correo electrónico protegido] Parte = sda1 use = "df -h | grep $ part | awk" imprimir $ 5 '| cortar -d '%' -f1 'if [$ use -gt $ max]; Entonces Echo "porcentaje usado: $ use" | Mail -S "Afirmando el espacio del disco" $ correo electrónico FI

Nota: Eliminar "USUARIO"Con su nombre de usuario. Puede consultar el correo usando usando 'correo' dominio.

Descargar check-disisk-space.mierda

La redacción y programación de scripts está más allá de los límites, cualquier cosa y todo podría implementarse según sea necesario. Eso es todo por ahora, en mi próximo artículo le daré algunos sabores diferentes de las secuencias de comandos. Hasta entonces, mantente fresco y sintonizado, disfruta.