Erstellen Sie Ihr Programm Schritt für Schritt mit Shell Scripting - Teil 8

Una vez más willkommen zu diesem neuen Lektion (# 8) Restaurants Kurs (Tutorial) auf Shell Scripting ”. In obigem 7 Lektionen Wir konnten erstellen und / oder lernen, wie bestimmte Module (Abschnitte) von Codes mit bestimmten Funktionen erstellt werden  Shell Scripting mit Bash Shell als Performance-Dolmetscher. Diese Module sind bisher:

Shell Scripting

Zum gehen vorheriger Beitrag (Lektion 7) Drücken Sie den folgenden Link:

Hierin achte (8) Auf der anderen Seite werden wir uns auf den Aufbau mehrerer Module konzentrieren, die folgende sind:

DAS PROXY-KONFIGURATIONSMODUL:


# MODULO DE CONFIGURACIÓN DE PROXY


read -p "En caso de requerir configurar un Proxy en su Terminal, introduzca la dirección_ip:puerto necesaria, en caso contrario solo presione la tecla ENTER: " IP_PTO_PROXY

# Nota: Indicar dirección_ip: puerto solo en caso de ser necesario activar debido
# a proxy interno no transparente para la terminal dentro de la red de trabajo
# donde se ejecute.

echo -e '\a'
export http_proxy=$IP_PTO_PROXY
#export no_proxy="127.0.0.1, localhost, 192.168.0.0/22, mi_institucion.gob.ve:8080"

sleep 3
clear

read -p "SI DESEA CANCELAR PRESIONE CUALQUIERA DE LOS SIGUIENTES CARACTERES: "s" "S" "y" "Y". DE LO CONTRARIO PRESIONE CUALQUIER OTRA TECLA! : " op

if [[ $op == "y" || $op == "Y" || $op == "s" || $op == "S" ]];

 then

   sleep 3 ; clear ; exit 0

 else

   sleep 3 ; clear ; read -p "EL PROGRAMA CONTINUARA, OPRIMA CUALQUIER TECLA PARA CONTINUAR..." && sleep 3 ; clear

fi

Die Funktion dieses Moduls besteht darin, dem Programm anzuzeigen, dass für die Konsole zur Ausführung von Aufgaben, für die eine Internetverbindung erforderlich ist, ein Proxy erforderlich ist. Wenn du zeigt nichts an (Schlüssel Enter ohne IP) wird das Programm davon ausgehen Kein Proxy erforderlichAndernfalls müssen Sie a angeben IP: PORT, damit ein temporärer ausgehender Proxy konfiguriert und die Konnektivität ausgeführt wird.

Selection_001

DAS WILLKOMMENSMODUL


# MODULO DE BIENVENIDA               

play /usr/share/sounds/startup3.wav 2> /dev/null

echo " BIENVENIDOS AL PROGRAMA "
sleep 3
clear

dialog --infobox "\n \n \nGRACIAS POR USAR ESTE SCRIPT..." 10 80 ; sleep 3

DIALOG=${DIALOG=dialog}

COUNT=10
(
while test $COUNT != 110
do
echo $COUNT
echo "XXX"
echo "ESTIMADO USUARIO, BIENVENIDO AL SCRIPT..."
echo "GRACIAS POR UTILIZARME..."
echo "ESPERE UNOS SEGUNDOS MIENTRAS ME INICIALIZO... ($COUNT %)"
echo "XXX"
COUNT=`expr $COUNT + 10`
sleep 1
done
) |
$DIALOG --title "LPI - SB" --gauge "INICIALIZANDO EL SCRIPT" 10 80 0

clear

echo " SCRIPT DE TRABAJO EN EJECUCIÓN "
echo ""
sleep 3
clear
             

Die Funktion dieses Moduls besteht darin, a anzuzeigen Willkommensbanner an den Benutzer, der manuell mit alphanumerischen und nicht alphanumerischen Zeichen erstellt wurde. Dann ein Informationsnachrichtenfenster pro Terminal mit Dialog und schließlich einen Fortschrittsbalken, um den nächsten Schritt zum nächsten Modul zu steuern.

Selection_002

Selection_003

Selection_004

DAS BENUTZER-SCHNITTSTELLEN-AUSWAHLMODUL


# MODULO DE SELECCIÓN DE INTERFACE DE USUARIO 

DIALOG_CANCEL=1
DIALOG_ESC=255
HEIGHT=0
WIDTH=0

display_result() {
  dialog --title "$1" \
    --no-collapse \
    --msgbox "$result" 0 0
}

while true; do
  exec 3>&1
  selection=$(dialog \
    --backtitle "Script en ejecución" \
    --title "Menu" \
    --clear \
    --cancel-label "Exit" \
    --menu "Seleccione una (1) opción, por favor:" $HEIGHT $WIDTH 4 \
    "1" "Usar interfaz de usuario (GUI) por Terminal" \
    "2" "Usar interfaz de usuario (GUI) por Escritorio" \
    "3" "Cerrar la sesión del Script" \
    2>&1 1>&3)
  exit_status=$?
  exec 3>&-
  case $exit_status in
    $DIALOG_CANCEL)
      clear
      echo "Sesión del Script cancelada."
      exit
      ;;
    $DIALOG_ESC)
      clear
      echo "Sesión del Script abortada." >&2
      exit 1
      ;;
  esac
  case $selection in
    0 )
      clear
      echo "Programa Terminado."
      ;;
    1 )
      result=$(echo "Usuario $USERNAME, usted ha seleccionado la interfaz de usuario (GUI) por Terminal"; echo $FECHA_SISTEMA_N / $HORA_SISTEMA)
      display_result "Script de Trabajo"
      USER_INTERFACE=T ; break
      
      ;;
    2 )
      result=$(echo "Usuario $USERNAME, usted ha seleccionado la interfaz de usuario (GUI) por escritorio"; echo $FECHA_SISTEMA_N / $HORA_SISTEMA)
      display_result "Script de Trabajo"
      USER_INTERFACE=E ; break
      ;;
    3 )
      result=$(echo "Usuario $USERNAME, el SCRIPT ha seleccionado la interfaz de usuario (GUI) por Terminal por defecto"; echo $FECHA_SISTEMA_N / $HORA_SISTEMA)
      display_result "Script de trabajo"
      USER_INTERFACE=T ; break
      ;;
  esac
done

Die Funktion dieses Moduls besteht darin, ein Menüfenster zu erstellen, in dem Sie eine Option sowohl mit der Tastatur als auch mit der Maus auswählen können. Jede Option kann Führen Sie einen Befehl, ein Modul, eine Funktion oder ein anderes Skript aus. In diesem speziellen Fall war es gewohnt Speichern Sie einen Wert in einer Variablen was dann erlauben wird Entscheide eine Bestellung nach ihrem Inhalt.

Selection_005

Selection_006

Selection_007

DAS AUSWAHL- UND AUSFÜHRUNGSMODUL FÜR ZUSÄTZLICHE MODULE


# MODULO DE SELECCIÓN Y EJECUCIÓN DE MÓDULOS ADICIONALES               


if [[ "$USER_INTERFACE" == "T" ]]; then

    bash $UBICACION/lpi_sb8_gui_terminal.sh 
    sleep 3

  else

    bash $UBICACION/lpi_sb8_acond_audiovisual_g_2016.sh

    bash $UBICACION/lpi_sb8_act_mtto_g_2016.sh

fi
       

Die Funktion dieses Moduls besteht darin, eine vordefinierte Option basierend auf einem zuvor in einer Variablen gespeicherten Wert auszuführen. In diesem Fall würde diese Variable eine Auswahl zwischen der weiteren Ausführung von Aktivitäten auslösen über Konsole mit Befehlen und grafischen Oberflächen mit Dialog ó über grafische Oberflächen für die Desktop-Umgebung mit Zenity und Gxmessage.

Selection_008

Selection_009

Selection_010

Selection_010

Selection_011

DAS FAREWELL-MODUL


# MODULO DE DESPEDIDA               

# Sección que muestra un mensaje de despedida al usuario

echo -e '\a'

echo ''
echo ''
echo '#--------------------------------------------------------#'
echo '#   ESPERE UNOS SEGUNDOS MIENTRAS SE CIERRAN TODOS LOS   #'
echo '#               PROCESOS ABIERTOS DEL SCRIPT             #'
echo '#--------------------------------------------------------#'
echo ''
echo ''

sleep 5
clear

# Sección que instala los paquetes bases del Script

echo -e '\a'

echo ''
echo ''
echo '#--------------------------------------------------------#'
echo '#           MUCHAS GRACIAS POR USAR EL SCRIPT            #'
echo '#                                                        #'
echo '#  EL PROGRAMA HA CULMINADO Y SE CERRARÁ INMEDIATAMENTE  #'
echo '#                    ESTIMADO USUARIO                    #'
echo '#--------------------------------------------------------#'
echo ''
echo ''

sleep 3
clear

wget -o /dev/null --user-agent="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36" -O "/tmp/audio.mp3" "https://translate.google.co.ve/translate_tts?ie=UTF-8&q=MUCHAS%20GRACIAS%20POR%20USAR%20EL%20LINUX%20POST%20INSTALL%20-%20SCRIPT%20BICENTENARIO%2C%20EL%20PROGRAMA%20HA%20FINALIZADO%20Y%20SE%20CERRAR%C3%81%20INMEDIATAMENTE%2C%20ESTIMADO%20USUARIO.&tl=es&total=1&idx=0&textlen=141&tk=899229.758054&client=t&prev=input" ; play -q /tmp/audio.mp3

play /usr/share/sounds/shutdown1.wav 2> /dev/null

rm -f $UBICACION/$FILE_LOCK

setterm --initialize

# MODULO DE DESPEDIDA               

Die Funktion dieses Moduls besteht darin, eine Nachricht von der Abschiedskonsole anzuzeigen und die erfolgreiche Ausführungsdatei derselben zu löschen.

Eine Fortsetzung un Screencasts Hier wird gezeigt, wie diese und die vorherigen Module ausgeführt werden, damit sie überprüfen, wie alle in den letzten 8 Lektionen gezeigten Module funktionieren, und die Leistung des Moduls bestätigen Shell Scripting hat ein höheres Niveau:

Skript-Testvideo

Und warum sollten wir Konsolenbenutzeroberflächen oder grafische Umgebungen für unser Skript verwenden?

Daran müssen wir uns erinnern grafische Benutzeroberflächen, auch bekannt als GUI (Grafische Benutzeroberfläche) sind Medium zur Darstellung der in der unteren Benutzeroberfläche verfügbaren Informationen und Aktionen unter Verwendung einer Reihe von Bildern und Grafikobjekten. Seine Hauptverwendung besteht aus Bereitstellung einer einfachen visuellen Umgebung für die Kommunikation mit dem Betriebssystem einer Maschine oder eines Computers.

Normalerweise führen wir die Aktionen durch direkte Interaktion mit dem Gerät aus, dh durch Eingabe von Befehlen oder Ausführen eines Skripts mit der Tastatur. UND GUIs sind eine Weiterentwicklung der Befehlszeile der ersten Betriebssysteme und das grundlegende Stück in einer grafischen Umgebung werden.

Und im Kontext von Mensch-Computer-InteraktionsprozessDie grafische Benutzeroberfläche ist das interaktive technologische Medium, das uns durch die Verwendung und grafische Kontextualisierung der visuellen Sprache eine freundliche Interaktion mit einem Computersystem ermöglicht.

Die Verwendung grafischer Oberflächen bietet uns Vor- und Nachteile wie:

Unter den Vorteilen: Erleichtern Sie die Handhabung von Prozeduren. Zeigen Sie jeden Befehl auf dem Bildschirm über ein Bild oder Objekt an. Stellen Sie dem Benutzer standardisierte Kontrollmechanismen wie Fenster und Dialogfelder zur Verfügung. Ermöglichen Sie dem Benutzer eine einfachere Interaktion mit dem System.

Unter den Nachteilen: Es verbraucht mehr Betriebssystemressourcen, Komplexität, Entwicklungszeit und Kosten für eine solche Entwicklung.

Wenn Sie mehr darüber erfahren möchten, wie Sie neue und schönere Benutzeroberflächen in Terminal oder auf dem Desktop erstellen, sollten Sie sich mit einigen Befehlen vertraut machen, die zum Erstellen von Dialogfenstern verwendet werden, mit denen Sie mit Bash-Skripten umsetzbare Informationen empfangen oder bereitstellen können, z.

Dialog: Bei der Dialoghandbuch gibt uns die verschiedenen Möglichkeiten, die Sie haben.

Gx-Nachricht: Bei der Gxmessage Handbuch gibt uns die verschiedenen Möglichkeiten, die Sie haben.

Zenität: Bei der Zenity-Handbuch gibt uns die verschiedenen Möglichkeiten, die Sie haben.

Und wenn Sie Ihrem Skript (Programme) eine noch speziellere und interaktivere Note verleihen möchten, entweder mit Bash-Muschel oder andere Schale Ich empfehle diese anderen Programme, die Ihnen bei guter Verwendung dabei helfen können, wahre Wunder zu vollbringen, ohne sich mit Shell Scripting-Problemen auskennen zu müssen. Unter diesen Programmen haben wir:

  • benachrichtigen-senden: Sehr nützlicher Befehl, um Benachrichtigungen für Ereignisse zu erstellen, z. B. Benachrichtigungen, wenn eine E-Mail eintrifft, ein Kontakt online gestellt wird und Erinnerungen an verschiedene Aufgaben erstellt werden. 
  • Eingabe: Befehl, der unter anderem verwendet wird, um den Cursor auf dem Bildschirm zu positionieren, Daten vom Bildschirm zu löschen, die Anzahl der Zeilen und Spalten auf dem Bildschirm zu kennen, ein Feld korrekt zu positionieren und ein Feld zu löschen, dessen Eingabe als Fehler erkannt wurde. Wie auch immer, fast die gesamte Parametrierung des Bildschirms erfolgt mit diesem Befehl. 
  • Siedler: Befehl, mit dem die Aktivierungs- und Deaktivierungstasten der Groß- / Kleinbuchstaben, der Zifferntastatur und der Bildlauftastatur für jede Konsole und jeden Desktop einzeln gesteuert werden können.

Nun, soweit diese Serie!


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.