Buat program Anda selangkah demi selangkah menggunakan Shell Scripting - Part 8

Sekali lagi selamat datang untuk ini baru pelajaran (# 8) itu Kursus (Tutorial) pada Shell Scripting ”. Di atas Pelajaran 7 Kami dapat membuat dan / atau mempelajari tentang cara membuat modul (bagian) kode tertentu dengan fungsi tertentu  Shell Scripting menggunakan Bash Shell sebagai penerjemah kinerja. Modul-modul tersebut sejauh ini adalah:

Shell Scripting

Untuk pergi ke posting sebelumnya (pelajaran 7) tekan tautan berikut:

Dalam hal ini kedelapan (8) Di sisi lain, kami akan berkonsentrasi pada pembangunan beberapa modul, sebagai berikut:

MODUL KONFIGURASI 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 ini adalah untuk menunjukkan kepada program bahwa konsol untuk melakukan tugas-tugas yang membutuhkan konektivitas internet membutuhkan proxy. Jika kamu tidak menunjukkan apapun (Kunci Enter tanpa memasukkan IP apa pun) program akan menganggap itu tidak diperlukan proxy, jika tidak, Anda harus menunjukkan a IP: PORT, untuk itu untuk mengonfigurasi proxy keluar sementara dan melakukan konektivitas.

Pilihan_001

MODUL SELAMAT DATANG


# 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
             

Modul ini berfungsi untuk menunjukkan a Spanduk selamat datang untuk pengguna yang dirancang secara manual dengan karakter alfanumerik dan non-alfanumerik. Kemudian jendela pesan informasional per terminal dengan dialog dan terakhir bilah kemajuan untuk mengontrol langkah berikutnya ke modul berikutnya.

Pilihan_002

Pilihan_003

Pilihan_004

MODUL PEMILIHAN ANTARMUKA 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 ini adalah untuk membuat jendela jenis menu yang memungkinkan pemilihan opsi dengan menggunakan keyboard dan mouse. Setiap opsi bisa menjalankan perintah perintah, modul, fungsi atau skrip lain. Dalam kasus khusus ini, sudah biasa menyimpan nilai dalam variabel yang kemudian akan memungkinkan memutuskan pesanan sesuai dengan isinya.

Pilihan_005

Pilihan_006

Pilihan_007

MODUL UNTUK PEMILIHAN DAN PELAKSANAAN 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 ini adalah untuk menjalankan opsi yang telah ditentukan berdasarkan nilai yang sebelumnya disimpan dalam variabel. Dalam kasus ini, variabel tersebut akan memicu pilihan antara terus melakukan aktivitas saja melalui konsol dengan perintah dan antarmuka grafis dengan dialog ó melalui antarmuka grafis untuk Lingkungan Desktop dengan Zenity dan Gxmessage.

Pilihan_008

Pilihan_009

Pilihan_010

Pilihan_010

Pilihan_011

MODUL 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 ini adalah untuk menampilkan pesan dari konsol perpisahan dan menghapus file dari eksekusi yang berhasil.

Di bawah a Screencast di mana ditunjukkan bagaimana modul-modul ini dan yang sebelumnya dijalankan sehingga mereka memeriksa bagaimana semua modul yang ditampilkan selama 8 pelajaran sebelumnya bekerja, dan mengesahkan kekuatan dari Shell Scripting memiliki level yang lebih tinggi:

Video Uji Skrip

Dan mengapa kita harus menggunakan antarmuka pengguna konsol atau lingkungan grafis ke Script kita?

Kita harus ingat itu antarmuka pengguna grafis, Juga dikenal sebagai GUI (Antarmuka Pengguna Grafis) adalah cara yang digunakan untuk mewakili informasi dan tindakan yang tersedia di antarmuka yang lebih rendah, menggunakan sekumpulan gambar dan objek grafik. Penggunaan utamanya terdiri dari menyediakan lingkungan visual sederhana untuk memungkinkan komunikasi dengan sistem operasi mesin atau komputer.

Biasanya kami melakukan tindakan melalui interaksi langsung dengan peralatan, yaitu dengan mengetik perintah atau menjalankan skrip dengan keyboard. DAN GUI muncul sebagai evolusi dari baris perintah dari sistem operasi pertama dan menjadi bagian fundamental dalam lingkungan grafis.

Dan dalam konteks proses interaksi manusia-komputer, GUI adalah media teknologi interaktif yang memungkinkan kita, melalui penggunaan dan kontekstualisasi grafis bahasa visual, interaksi yang bersahabat dengan sistem komputer.

Menggunakan antarmuka grafis memberi kita keuntungan dan kerugian, seperti:

Keunggulannya: Memfasilitasi penanganan prosedur, Menampilkan setiap perintah di layar melalui gambar atau objek, Menyediakan mekanisme kontrol standar seperti jendela dan kotak dialog kepada pengguna, Memungkinkan pengguna untuk berinteraksi dengan sistem dengan cara yang lebih mudah.

Di antara kerugiannya: Ini menggunakan lebih banyak sumber daya sistem operasi, kompleksitas, waktu pengembangan, dan biaya untuk melakukan pengembangan semacam itu.

Jika Anda ingin mengetahui lebih banyak tentang cara membuat antarmuka baru dan lebih indah di Terminal atau Desktop, saya sarankan Anda mempelajari beberapa perintah yang digunakan untuk membangun jendela dialog dengan kemampuan untuk menerima atau memberikan informasi yang dapat ditindaklanjuti dengan skrip bash, seperti:

Dialog: Dalam Manual Dialog memberi kami berbagai opsi yang Anda miliki.

Pesan Gx: Dalam Panduan Gxmessage memberi kami berbagai opsi yang Anda miliki.

Zenitas: Dalam Zenity Manual memberi kami berbagai opsi yang Anda miliki.

Dan jika Anda ingin memberikan sentuhan yang lebih spesial dan interaktif pada Script (Program) Anda dengan Bash Shell atau lainnya Kulit Saya merekomendasikan program lain ini yang, jika digunakan dengan baik, dapat membantu Anda menciptakan keajaiban sejati tanpa terlalu ahli dalam masalah Skrip Shell. Di antara program-program ini kami memiliki:

  • beri tahu-kirim: Perintah yang sangat berguna untuk membuat pemberitahuan untuk acara seperti memberi tahu saat email masuk, kontak online dan membuat pengingat berbagai tugas. 
  • taruh: Perintah yang digunakan di antara banyak hal untuk memposisikan kursor di layar, menghapus data dari layar, mengetahui jumlah baris dan kolom di layar, memposisikan bidang dengan benar, menghapus bidang yang inputnya terdeteksi sebagai kesalahan. Bagaimanapun, hampir semua parameterisasi layar dilakukan dengan perintah ini. 
  • menetap: Perintah yang memungkinkan untuk mengontrol aktivasi dan penonaktifan tombol huruf besar / kecil, keyboard numerik dan keyboard scrolling satu per satu untuk setiap konsol dan desktop.

Nah, sejauh ini seri ini!


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.