Veidojiet programmu soli pa solim, izmantojot Shell Scripting - 8. daļa

Vēlreiz bienvenidos uz šo jauno nodarbība (# 8) del Kursi (apmācība) uz Shell Scripting ”. Iepriekš minētajā 7 nodarbības Mēs varējām izveidot un / vai uzzināt par to, kā izveidot noteiktus kodu moduļus (sadaļas) ar īpašām funkcijām  Shell skripti, izmantojot Bash Shell kā izpildījuma tulks. Šie moduļi līdz šim ir:

Shell skripti

Lai dotos uz iepriekšējā ziņa (7. nodarbība) nospiediet šo saiti:

Šajā astotais (8) No otras puses, mēs koncentrēsimies uz vairāku šādu moduļu izveidi:

PROXY KONFIGURĀCIJAS MODULIS:


# 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

Šī moduļa funkcija ir norādīt programmai, ka konsolei, lai veiktu uzdevumus, kuriem nepieciešama interneta savienojamība, ir nepieciešams starpniekserveris. Ja jūs neko neliecina (Atslēga ienākt neliekot nevienu IP) programma to pieņems nav nepieciešams starpniekserveris, pretējā gadījumā jums jānorāda a IP: OSTA, lai tā konfigurētu pagaidu izejošo starpniekserveri un veiktu savienojamību.

Selection_001

LAIPNIECĪBAS MODULIS


# 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
             

Šī moduļa funkcija ir parādīt a Laipni lūdzam reklāmkarogs lietotājam, kas manuāli izveidots ar burtciparu un bez burtciparu rakstzīmēm. Tad informatīvo ziņojumu logs katram terminālim ar Dialogs un visbeidzot progresa josla, lai kontrolētu nākamo soli uz nākamo moduli.

Selection_002

Selection_003

Selection_004

LIETOTĀJA SASKARNES ATLASES MODULIS


# 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

Šī moduļa funkcija ir izveidot izvēlnes tipa logu, kas ļauj izvēlēties opciju, izmantojot gan tastatūru, gan peli. Katra iespēja var izpildīt komandas komandu, moduli, funkciju vai citu skriptu. Šajā konkrētajā gadījumā tas tika izmantots saglabājiet vērtību mainīgajā kas tad ļaus izlemt pasūtījumu atbilstoši tā saturam.

Selection_005

Selection_006

Selection_007

PAPILDU MODUĻU ATLASES UN IZPILDES MODULIS


# 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
       

Šī moduļa funkcija ir izpildīt iepriekš noteiktu opciju, pamatojoties uz vērtību, kas iepriekš saglabāta mainīgajā. Šajā gadījumā šis mainīgais izraisīs izvēli starp darbību turpināšanu izmantojot konsoli ar komandām un grafiskām saskarnēm ar dialogu ó izmantojot grafiskās saskarnes darbvirsmas videi ar Zenity un Gxmessage.

Selection_008

Selection_009

Selection_010

Selection_010

Selection_011

ATCELŠANĀS MODULIS


# 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               

Šī moduļa funkcija ir parādīt ziņojumu ar atvadu konsoli un izdzēst tā veiksmīgas izpildes failu.

Zem a Ekrānsaudzētājs kur parādīts, kā tiek izpildīti šie un iepriekšējie moduļi, lai viņi varētu pārbaudīt, kā darbojas visi moduļi, kas parādīti iepriekšējo 8 stundu laikā, un apliecināt Shell skripti ir augstāks līmenis:

Skripta testa video

Un kāpēc mums vajadzētu izmantot skripta konsoles lietotāja saskarnes vai grafisko vidi?

Mums tas ir jāatceras grafiskās lietotāja saskarnes, zināms arī kā GUI (grafiskā lietotāja saskarne) tie ir līdzekļi, ko izmanto, lai attēlotu apakšējā saskarnē pieejamo informāciju un darbības, izmantojot attēlu un grafisko objektu kopu. Tās galvenais lietojums sastāv no nodrošināt vienkāršu vizuālo vidi, kas ļauj sazināties ar mašīnas vai datora operētājsistēmu.

Mēs parasti veicam darbības, tieši mijiedarbojoties ar aprīkojumu, tas ir, ierakstot komandas vai izpildot skriptu ar tastatūru. UN GUI parādās kā pirmās operētājsistēmas komandrindas evolūcija un kļūstot par pamatgabalu grafiskajā vidē.

Un kontekstā cilvēka un datora mijiedarbības process, GUI ir interaktīvs tehnoloģiskais nesējs, kas ļauj, izmantojot vizuālo valodu un izmantojot grafisko kontekstualizāciju, draudzīgu mijiedarbību ar datorsistēmu.

Izmantojot grafiskās saskarnes, mums ir priekšrocības un trūkumi, piemēram:

Starp priekšrocībām: Veiciniet procedūru apstrādi, katru komandu uz ekrāna parādiet, izmantojot attēlu vai objektu, nodrošiniet lietotājam standartizētus vadības mehānismus, piemēram, logus un dialoglodziņus, ļaujiet lietotājam vieglāk mijiedarboties ar sistēmu.

Starp trūkumiem: Tas izmanto vairāk operētājsistēmas resursu, sarežģītību, izstrādes laiku un šādas izstrādes izmaksas.

Ja vēlaties uzzināt vairāk par to, kā izveidot jaunas un skaistākas saskarnes terminālā vai darbvirsmā, iesaku uzzināt par dažām komandām, kuras tiek izmantotas, lai izveidotu dialoglodziņus ar iespēju saņemt vai sniegt praktisku informāciju ar bash skriptiem, piemēram, kā:

dialogs: Jo Dialoga rokasgrāmata dod mums dažādas iespējas.

gxmessage: Jo Gxmessage rokasgrāmata dod mums dažādas iespējas.

Zenness: Jo Zenity rokasgrāmata dod mums dažādas iespējas.

Un, ja vēlaties piešķirt vēl īpašāku un interaktīvāku skriptu (programmas) vai nu ar Bash apvalks vai citu Apvalks Es iesaku šīs citas programmas, kuras, lietojot labi, var palīdzēt radīt īstus brīnumus, nepārliecinoties par Shell Scripting jautājumiem. Starp šīm programmām mums ir:

  • paziņot-nosūtīt: Ļoti noderīga komanda, lai veiktu paziņojumus par tādiem notikumiem kā paziņošana par e-pasta ziņojumu saņemšanu, kontakta ievietošana tiešsaistē un atgādinājumu izdarīšana par dažādiem uzdevumiem. 
  • ielieciet: Komanda, kas tiek izmantota starp daudzām lietām, lai novietotu kursoru uz ekrāna, izdzēstu datus no ekrāna, uzzinātu ekrāna rindu un kolonnu skaitu, pareizi novietotu lauku, izdzēstu lauku, kura ievade tika konstatēta kā kļūda. Jebkurā gadījumā gandrīz visu ekrāna parametru iestatīšanu veic šī komanda. 
  • komplekti: Komanda, kas ļauj kontrolēt lielo / mazo burtu, ciparu tastatūras un ritināšanas tastatūras aktivizācijas un deaktivizācijas taustiņus atsevišķi katrai konsolei un darbvirsmai.

Nu, līdz šim šī sērija!


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.