Yakha uhlelo lwakho ngesinyathelo ngesinyathelo usebenzisa i-Shell Scripting - Ingxenye 8

Kwaphinda lokho wamukelekile kulokhu okusha isifundo (# 8) i-del Inkambo (Okokufundisa) cishe I-Shell Scripting ”. Kulokhu okungenhla Izifundo ze-7 Sikwazile ukwenza futhi / noma sifunde ukuthi singawakha kanjani amamojula (izigaba) zamakhodi ezinokusebenza okuthile ngokusebenzisa  I-Shell Scripting isebenzisa iBash Shell njengomtoliki wokusebenza. Lawa ma-module kuze kube manje:

Isikripthi se-Shell

Ukuya kufayela le- okuthunyelwe kwangaphambilini (isifundo 7) cindezela isixhumanisi esilandelayo:

Kulokhu isishiyagalombili (8) Ngakolunye uhlangothi, sizogxila ekwakhiweni kwamamojula amaningi, lawa okulandelayo:

IMODULI YOKULUNGELELWA KWAMAMAKHAYA:


# 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

Umsebenzi wale moduli ukukhombisa kuhlelo ukuthi ikhonsoli yokwenza imisebenzi edinga ukuxhumeka kwe-inthanethi idinga ummeleli. Uma u ayibonisi lutho (Ukhiye Faka ngaphandle kokubeka noma iyiphi i-IP) uhlelo luzokucabanga lokho akukho proxy edingekayo, ngaphandle kwalokho kufanele ukhombise IP: IPHEPHA, ukuze ilungiselele ummeleli ophumayo wesikhashana futhi yenze ukuxhumana.

Ukukhethwa_001

IMODULI YOKWAMUKELA


# 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
             

Umsebenzi wale module ukukhombisa ifayili le- Siyakwamukela isibhengezo kumsebenzisi owenzelwe ngesandla ngezinhlamvu ze-alphanumeric nezingezona ze-alphanumeric. Ngemuva kwalokho iwindi lomyalezo wolwazi nge-terminal ngayinye nge lengxoxo futhi ekugcineni ibha yenqubekela phambili yokulawula isinyathelo esilandelayo kwimodyuli elandelayo.

Ukukhethwa_002

Ukukhethwa_003

Ukukhethwa_004

IMODULI YOKUKHETHA UMSEBENZI WOMsebenzisi


# 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

Umsebenzi wale moduli ukudala iwindi lohlobo lwemenyu oluvumela ukukhetha inketho ngokusebenzisa ikhibhodi kanye negundane. Inketho ngayinye ingakwazi yenza umyalo womyalo, imodyuli, umsebenzi noma omunye umbhalo. Kulokhu, bekujwayele ukwenziwa gcina inani ngokuguquguqukayo okuzobe sekuvumela nquma i-oda ngokuya ngokuqukethwe kwayo.

Ukukhethwa_005

Ukukhethwa_006

Ukukhethwa_007

I-MODULE YOKUKHETHWA NOKUPHELA KWAMAMODULI WOKWengeza


# 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
       

Umsebenzi wale mojuli ukwenza inketho echazwe ngaphambilini ngokuya kunani elaligcinwe ngaphambilini ngokuguquguqukayo. Kulokhu, lokho kuguquka kungadala ukukhetha phakathi kokuqhubeka nokwenza imisebenzi kuphela nge-console ngemiyalo nangezindlela zokuqhafaza ezinengxoxo ó nge-interface yokuqhafaza ye-Desktop Environment eneZenity neGxmessage.

Ukukhethwa_008

Ukukhethwa_009

Ukukhethwa_010

Ukukhethwa_010

Ukukhethwa_011

IMODELE YOKUKHALA


# 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               

Umsebenzi wale mojula ukukhombisa umlayezo ngekhonsoli yokuvalelisa futhi ususe ifayili lokwenza kwayo ngempumelelo.

Ngezansi kwe- Isikrini lapho kukhonjiswa khona ukuthi la ma-module nalawo wangaphambilini asetshenziswa kanjani ukuze babheke ukuthi onke amamojula akhonjisiwe phakathi kwezifundo eziyi-8 ezedlule asebenza kanjani, futhi aqinisekise amandla Isikripthi se-Shell unezinga eliphakeme:

Ividiyo Yokuhlola Iskripthi

Futhi kungani kufanele sisebenzise i-console interface yomsebenzisi noma imvelo yokuqhafaza kuSkripthi sethu?

Kumele sikukhumbule lokho isikhombimsebenzisi sokuqhafaza, obeye aziwe njengo I-GUI (Isikhombimsebenzisi sokuqhafaza) yibo kusho ukuthi kusetshenziselwa ukumela imininingwane nezenzo ezitholakala kusixhumi esibonakalayo esiphansi, kusetshenziswa iqoqo lezithombe nezinto ezicacile. Ukusetshenziswa kwayo okuyinhloko kuqukethe nikeza indawo elula yokubuka ukuvumela ukuxhumana nohlelo lokusebenza lomshini noma ikhompyutha.

Imvamisa senza izenzo ngokuxhumana ngqo nemishini, okungukuthi, ngokuthayipha imiyalo noma ukwenza iskripthi ngekhibhodi. FUTHI Ama-GUI avela njengokuvela kolayini womyalo wezinhlelo zokuqala zokusebenza futhi ube yingxenye eyisisekelo endaweni ebonakalayo.

Futhi kumongo we inqubo yokuxhumana komuntu nekhompyutha, i-GUI iyindlela yokuxhumana yezobuchwepheshe evumela thina, ngokusebenzisa kanye nokuqhafaza kokuqukethwe kolimi olubukwayo, ukuxhumana okunobungane nohlelo lwekhompyutha.

Isebenzisa izindlela zokuqhafaza kusinikeza izinzuzo nezinkinga, njenge:

Phakathi kwezinzuzo: Lungiselela ukuphathwa kwezinqubo, Khombisa umyalo ngamunye esibukweni ngomfanekiso noma ngento, Nikeza izindlela zokulawula ezinjengamawindi namabhokisi ezingxoxo kumsebenzisi, Vumela umsebenzisi ukuthi ahlanganyele nohlelo ngendlela elula.

Phakathi kokubi: Kuthatha izinsiza eziningi zohlelo lokusebenza, ubunzima, isikhathi sokuthuthuka, nezindleko zokwenza intuthuko enjalo.

Uma ufuna ukwazi kabanzi ngokuthi ungazenza kanjani izixhumi ezibonakalayo ezintsha nezinhle kuTheminali noma kuDeskithophu, ngincoma ukuthi ufunde ngemiyalo ethile esetshenziselwa ukwakha ama-dialog windows enekhono lokuthola noma lokunikeza imininingwane engabakhona ngemibhalo ye-bash, efana njengo:

Ingxoxo: Ku Incwajana Yengxoxo isinikeza izinketho ezahlukahlukene onazo.

I-Gxmessage: Ku Imanyuwali ye-Gxmessage isinikeza izinketho ezahlukahlukene onazo.

Ubukhulu: Ku Incwadi yeZenity isinikeza izinketho ezahlukahlukene onazo.

Futhi uma ufuna ukunikeza ukuthinta okukhethekile nangaphezulu kokusebenzisana kuSkripthi sakho (Izinhlelo) noma ngabe I-Bash Shell noma omunye shell Ngincoma lezi ezinye izinhlelo lapho, uma zisetshenziswe kahle, zingakusiza udale izimangaliso zangempela ngaphandle kokuba nekhono kakhulu ezindabeni zeShell Scripting. Phakathi kwalezi zinhlelo esinazo:

  • yazisa-thumela: Umyalo owusizo kakhulu wokwenza izaziso zemicimbi efana nokwazisa lapho i-imeyili ifika, oxhumana naye ufakwa ku-inthanethi futhi enze izikhumbuzo zemisebenzi ehlukahlukene. 
  • i-tput: Umyalo osetshenziswa phakathi kwezinto eziningi ukubeka isikhombisi esikrinini, sula idatha esikrinini, wazi inani lemigqa namakholomu esikrinini, ubeke kahle inkambu, sula inkambu okufakiwe kwayo kutholakale njengephutha. Noma kunjalo, cishe konke ukwenziwa ipharamitha kwesikrini kwenziwa ngalo myalo. 
  • iziphetho: Umyalo ovumela ukulawula okhiye bokuvula nokwenza kungasebenzi izinhlamvu ezinkulu / ezincane, ikhibhodi yezinombolo nekhibhodi yokuskena ngakunye kukhonsoli nedeskithophu ngayinye.

Yebo, kuze kube manje lolu chungechunge!


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.