Navegando por el mundo de Linux Bash Scripting - Parte III

Navegando por el mundo de Linux Bash Scripting - Parte III

Los siguientes artículos de 'Scripting de concha'Las series fueron muy apreciadas y, por lo tanto, estoy escribiendo este artículo para extender el proceso interminable de aprendizaje.

Scripting básico de shell Parte 3
  1. Comprender los consejos básicos de lenguaje de secuencias de comandos de Linux - Parte I
  2. 5 scripts de shell para Linux Newbies para aprender la programación de shell - Parte II
Palabras clave BASH

A palabra clave es una palabra o símbolo que tiene un significado especial para un lenguaje de computadora. Los siguientes símbolos y palabras tienen significados especiales para Intento Cuando no son cotizados y la primera palabra de un comando.

! ESAC SELECT CASE FI luego [[do para hasta]] función realizada mientras se Elif si el tiempo más en 

A diferencia de la mayoría de los lenguajes de computadora, Intento permite que las palabras clave se usen como nombres de variables a pesar de que esto puede hacer que los guiones sean difíciles de leer. Para mantener los scripts comprensibles, las palabras clave no deben usarse para nombres de variables.

Se implementa un comando en Shell como ps(dominio). Es posible que deba incluir el camino completo de comando. mi.gramo., $ (/bin/fecha), Para la ejecución correcta.

Puede conocer la ruta del programa específico que usa 'dónde es' dominio. mi.gramo., donde es una fecha

[[Correo electrónico protegido]/]# Whereis Fecha de fecha:/bin/fecha/usr/share/man/man1/fecha.1.GZ

Es suficiente por ahora. No hablaremos mucho sobre esta teoría ahora. Veniendo a los guiones.

Mover el directorio de trabajo actual

Pasar del directorio de trabajo actual a cualquier nivel actual proporcionando el valor numérico al final del script al ejecutar.

#! /bin/bash nivel = $ 1 para ((i = 1; i <= LEVEL; i++)) do CDIR=… /$CDIR done cd $CDIR echo "You are in: "$PWD exec /bin/bash

Guarde los códigos anteriores como "arriba.mierda", En tu escritorio. Hacerlo ejecutable (chmod 755 arriba.mierda). Correr:

./arriba.sh 2 (moverá el directorio de trabajo actual a dos niveles).
./arriba.sh 4 (moverá el directorio de trabajo actual a cuatro niveles).

Uso y área de aplicación

En scripts más grandes que contiene carpeta interior de la carpeta interior ... que contiene bibliotecas, binarios, íconos, ejecutables, etc. En una ubicación diferente, usted, como desarrollador, puede implementar este script para moverse a la ubicación deseada de una manera muy automatizada.

Nota: Porque es un bucle en el script anterior y continuará ejecutándose hasta que los valores sean verdaderos para el bucle.

Salida de muestra
[[correo electrónico protegido] /]# chmod 755 Up [[correo electrónico protegido] /]# ./arriba.sh 2 estás en: / [[correo electrónico protegido] /]# ./arriba.sh 4 estás en: / [[correo electrónico protegido] /]#

Descargar.mierda

Crear un archivo o carpeta aleatorios

Cree un archivo aleatorio (carpeta) sin posibilidad de duplicación.

#! /bin/bash echo "hola $ user"; echo "$ (tiempo de actividad)" >> "$ (fecha)".txt echo "Su archivo se está guardando en $ (pwd)"

Este es un script simple, pero está funcionando no es tan simple.

  1. 'eco': Imprime todo lo escrito dentro de las citas.
  2. 'ps': Es una variable de shell.
  3. '>>': La salida se redirige a la salida de fecha comando seguido de TXT extensión.

Sabemos la salida de fecha el comando es fecha, y tiempo en hora, minuto, segundo junto con año. Por lo tanto, podríamos obtener la salida en un nombre de archivo organizado sin posibilidad de duplicación del nombre de archivo. Podría ser muy útil cuando el usuario necesita el archivo creado con estampilla de tiempo Para futura referencia.

Salida de muestra
[[correo electrónico protegido] /]# ./File Random.SH Hello Server. Su archivo se está guardando en/Home/Server/Desktop

Puede ver el archivo que se crea en el escritorio con la fecha de hoy y la hora actual.

[[correo electrónico protegido] /]# nano sat \ jul \ 20 \ 13 \: 51 \: 52 \ ist \ 2013.txt 13:51:52 arriba 3:54, 1 usuario, promedio de carga: 0.09, 0.12, 0.08

A continuación se proporciona una implementación más detallada del script anterior, que funciona en el principio anterior y es muy útil para recopilar la información de red de un Linux servidor.

Descargar RandomFile.mierda

Script para recopilar información de red

Reúne información de red en un Linux servidor. El script es demasiado grande y no es posible publicar todo el código y la salida del script aquí. Por lo tanto, es mejor que puede descargar el script usando el siguiente enlace de descarga y probarlo usted mismo.

Nota: Es posible que necesite instalar núcleo lsb paquete y otros paquetes y dependencia requeridos. Apto o Beque los paquetes requeridos. Obviamente necesitas ser raíz Para ejecutar el script porque la mayoría de los comandos utilizados aquí están configurados para ejecutarse como raíz.

Salida de muestra
[[correo electrónico protegido] /]# ./CollectNetWorkInfo.SH la información de configuración de red escrita en red.20-07-13.información.TXT. Envíe un correo electrónico a este archivo a [correo electrónico protegido] _Provider.comunicarse. ktop

Puede cambiar la dirección de correo electrónico anterior en su script para que se le envíe por correo. El archivo generado automáticamente se puede ver.

Descargar CollectNetWorkInfo.mierda

Script para convertir mayúsculas en minúsculas

Un script que se convierte Mayúscula a minúscula y redirige la salida a un archivo de texto "pequeño.TXT"Que se puede modificar según sea necesario.

#!/bin/bash echo -n "Ingrese el nombre del archivo:" Lea el nombre de archivo si [ ! -f $ nombre de archivo]; Entonces echo "nombre de archivo $ nombre de archivo no existe" salida 1 fi tr '[a-z] "[a-z]'> pequeño.TXT

Este script anterior puede convertir el caso de un archivo de cualquier longitud con un solo clic desde mayúscula a minúscula y viceversa si es necesario, con poca modificación.

Salida de muestra
[[correo electrónico protegido] /]# ./Convertlowercase.SH Ingrese el nombre del archivo: un.Archivo inicial de TXT: A B C D E F G H I J K .. 

Archivo nuevo (pequeño.TXT) producción:

A B C D E F G H I J K .. 

Descargar ConvertLowercase.mierda

Programa de calculadora simple

#! /bin/bash clear sum = 0 i = "y" echo "ingrese uno no."Leer N1 Echo" Ingrese el segundo no."Lea n2 mientras [$ i =" y "] do echo" 1.Adición "Echo" 2.Resta "eco" 3.Multiplicación "echo" 4.División "echo" Ingrese su elección "Lea CH CASE $ CH EN 1) SUM = 'EXPR $ N1 + $ N2' echo = "$ sum ;; 3) sum = 'expr $ n1 \ * $ n2' echo" mul = "$ sum ;; 4) sum = 'expr $ n1 / $ n2' echo" div = "$ sum ;; * ) echo "elección inválida" ;; esac echo "¿Quieres continuar (y/n))) ?"Lee I si [$ i != "y"] Entonces salga FI hecho
Salida de muestra
[[correo electrónico protegido] /]# ./SimpleCalc.sh enter uno no. 12 Ingrese el segundo no. 14 1.Adición 2.Resta 3.Multiplicación 4.División Ingrese su elección 1 suma = 26 ¿Desea continuar (S/N))? ? y 1.Adición 2.Resta 3.Multiplicación 4.División Ingrese su elección 3 MUL = 14812 ¿Desea continuar (S/N)) ? norte

Descargar SimpleCalc.mierda

Entonces, ¿viste lo fácil que era crear un programa poderoso como cálculos de una manera tan simple?. No es el fin. Compensaremos con al menos un artículo más de esta serie, que cubre una perspectiva amplia desde la vista de la administración.

Eso es todo por ahora. Ser el lector y el mejor crítico no olviden decirnos cuánto y qué disfrutaste en este artículo y qué quieres ver en el artículo futuro. Cualquier pregunta es muy bienvenida en el comentario. Hasta entonces se queda saludable, seguro y afinado. Como y Compartir nosotros y ayudarnos a difundir.