Gawe program kanthi langkah-langkah nggunakake Shell Scripting - Bagean 8

Sepisan maneh sambutan kanggo anyar iki pelajaran (# 8) Del Kursus (Tutorial) babagan Scripting Cangkang ”. Ing ndhuwur 7 pelajaran Kita bisa nggawe lan / utawa sinau babagan cara nggawe modul (bagean) kode tartamtu kanthi fungsi tartamtu  Shell Scripting nggunakake Bash Shell minangka interpreter kinerja. Modul kasebut nganti saiki yaiku:

Scripting NihanKanggo pindhah menyang kiriman sadurunge (pelajaran 7) pencet link ing ngisor iki:

Ing iki kaping wolu (8) Saliyane, kita bakal fokus ing konstruksi sawetara modul, kaya ing ngisor iki:

MODUL CONFIGURASI PROXY:


# 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

Fungsi modul iki kanggo nuduhake program manawa konsol kanggo nindakake tugas sing mbutuhake konektivitas internet mbutuhake proksi. Yen sampeyan ora nuduhake apa-apa (Kunci Ketik tanpa nyelehake IP) program bakal nganggep ora proksi dibutuhake, yen ora, sampeyan kudu nunjuk a IP: PORT, kanggo ngatur proxy outbound sementara lan nindakake konektivitas.

Pilihan_001MODUL SELAMAT


# 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
             

Fungsi modul iki yaiku nuduhake a Spanduk sambutan kanggo pangguna sing dirancang kanthi manual kanthi karakter alfanumerik lan non-alfanumerik. Banjur jendhela pesen informasi saben terminal karo dialog lan pungkasane bar kemajuan kanggo ngontrol langkah sabanjure menyang modul sabanjure.

Pilihan_002Pilihan_003Pilihan_004MODUL PILIHAN INTERFACE PENGGUNA


# 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

Fungsi modul iki yaiku nggawe jendela jinis menu sing ngidini milih pilihan kanthi nggunakake keyboard lan mouse. Saben opsi bisa nglakokake printah prentah, modul, fungsi utawa skrip liyane. Ing kasus tartamtu, biasane digunakake kanggo nyimpen angka ing variabel sing banjur bakal ngidini mutusake pesen miturut isine.

Pilihan_005Pilihan_006Pilihan_007MODUL PILIHAN LAN PELAKSANA MODUL TAMBAHAN


# 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
       

Fungsi modul iki yaiku nglakokake pilihan sing wis ditemtokake adhedhasar regane sadurunge disimpen ing variabel. Ing kasus iki, variabel kasebut bakal nyebabake pilihan antarane terus nindakake kegiyatan liwat console kanthi printah lan antarmuka grafis kanthi dialog ó liwat antarmuka grafis kanggo Lingkungan Desktop kanthi Zenity lan Gxmessage.

Pilihan_008Pilihan_009Pilihan_010Pilihan_010Pilihan_011MODUL FAREWELL


# 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               

Fungsi modul iki kanggo nuduhake pesen kanthi konsol pamitan lan mbusak file eksekusi sing sukses.

Ing ngisor iki a Screencast ing endi ditampilake kepiye modul kasebut lan modul sadurunge dieksekusi supaya bisa mriksa cara kabeh modul sing ditampilake sajrone 8 pelajaran sadurunge, lan nandhakake kekuwatan saka Scripting Nihan nduweni level sing luwih dhuwur:

Video Tes Skrip

Napa kita kudu nggunakake antarmuka panganggo console utawa lingkungan grafis menyang Skrip?

Kita kudu eling antar muka pangguna grafis, uga kasebut GUI (Antarmuka Panganggo Grafis) padha karo tegese digunakake kanggo makili informasi lan tumindak sing kasedhiya ing antarmuka ngisor, nggunakake sakumpulan gambar lan obyek grafis. Panggunaan utama kalebu nyedhiyakake lingkungan visual sing sederhana supaya komunikasi karo sistem operasi mesin utawa komputer.

Biasane kita nindakake tumindak liwat interaksi langsung karo peralatan, yaiku kanthi ngetik printah utawa nglakokake skrip nganggo keyboard. LAN GUI muncul minangka evolusi garis perintah sistem operasi pertama lan dadi bagean dhasar ing lingkungan grafis.

Lan ing konteks proses interaksi manungsa-komputer, GUI minangka media teknologi interaktif sing ngidini kita, liwat panggunaan lan kontekstualisasi grafis basa visual, interaksi sing grapyak karo sistem komputer.

Nggunakake antarmuka grafis nyedhiyakake kaluwihan lan kekurangan, kayata:

Antarane kaluwihan: Fasilitasi penanganan prosedur, Ndeleng saben prentah ing layar liwat gambar utawa obyek, Nyedhiyakake mekanisme kontrol standar kayata windows lan kothak dialog kanggo pangguna, Ngidini pangguna kanggo sesambungan karo sistem kanthi cara sing luwih gampang.

Antarane kekurangan: Nggunakake luwih akeh sumber daya sistem operasi, kerumitan, wektu pangembangan, lan biaya nindakake pangembangan kasebut.

Yen sampeyan pengin ngerti luwih lengkap babagan cara nggawe antarmuka sing anyar lan luwih apik ing Terminal utawa ing Desktop, aku saranake sinau babagan sawetara prentah sing digunakake kanggo mbangun windows dialog kanthi kemampuan kanggo nampa utawa menehi informasi sing bisa ditindakake kanthi skrip bash, kayata:

Dialog: En el Manual Dialog menehi macem-macem opsi sing sampeyan duwe.

Pesen Gx: En el Manual Gxmessage menehi macem-macem opsi sing sampeyan duwe.

Zenty: En el Manual Zenity menehi macem-macem opsi sing sampeyan duwe.

Lan yen sampeyan pengin menehi tutul liyane khusus lan interaktif menyang Skrip (Program) Nihan cangkang utawa liyane Shell Aku nyaranake program liyane iki sing, yen digunakake kanthi apik, bisa mbantu sampeyan nggawe keajaiban sejati tanpa trampil banget karo masalah Shell Scripting. Antarane program kasebut yaiku:

  • ngabari-ngirim: Prentah sing migunani banget kanggo menehi kabar babagan acara kayata menehi kabar nalika email teka, kontak dilebokake kanthi online lan nggawe pangeling babagan macem-macem tugas. 
  • ndekek: Prentah digunakake ing pirang-pirang perkara kanggo nempatake kursor ing layar, mbusak data saka layar, ngerti nomer baris lan kolom ing layar, posisi lapangan kanthi bener, busak kolom sing input dideteksi minangka kesalahan. Oalah, meh kabeh parameterisasi layar rampung karo printah iki. 
  • mapan: Prentah sing ngidini ngontrol tombol aktivasi lan mateni huruf gedhe / cilik, keyboard angka lan keyboard gulung kanthi individu kanggo saben console lan desktop.

Ya, nganti saiki seri iki!


Konten artikel kasebut sesuai karo prinsip kita yaiku etika editorial. Kanggo nglaporake klik kesalahan Kene.

Dadi pisanan komentar

Ninggalake komentar sampeyan

Panjenengan alamat email ora bisa diterbitake. Perangkat kothak ditandhani karo *

*

*

  1. Tanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Kontrol SPAM, manajemen komentar.
  3. Legitimasi: idin sampeyan
  4. Komunikasi data: Data kasebut ora bakal dikomunikasikake karo pihak katelu kajaba kanthi kewajiban ukum.
  5. Panyimpenan data: Database sing dianakake dening Occentus Networks (EU)
  6. Hak: Kapan wae sampeyan bisa matesi, mulihake lan mbusak informasi sampeyan.