Bangun program anda langkah demi langkah menggunakan Shell Scripting - Bahagian 8

Sekali lagi bienvenidos kepada yang baru ini pelajaran (# 8) yang Kursus (Tutorial) pada Skrip Shell ”. Di atas 7 pelajaran Kami dapat membuat dan / atau belajar tentang cara membuat modul (bahagian) kod tertentu dengan fungsi tertentu melalui  Shell Scripting menggunakan Bash Shell sebagai jurubahasa prestasi. Modul-modul ini setakat ini adalah:

Shell Scripting

Untuk pergi ke catatan sebelumnya (pelajaran 7) tekan pautan berikut:

Dalam kes ini, kelapan (8) Sebaliknya, kami akan menumpukan pada pembinaan beberapa modul, yang berikut ini:

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 bahawa konsol untuk melakukan tugas yang memerlukan sambungan internet memerlukan proksi. Jika awak tidak menunjukkan apa-apa (Kunci Masukkan tanpa meletakkan IP) program akan menganggap bahawa proksi tidak diperlukan, jika tidak, anda mesti menunjukkan a IP: PELABUHAN, untuk mengkonfigurasi proksi keluar sementara dan melakukan sambungan.

Pemilihan_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
             

Fungsi modul ini adalah untuk menunjukkan a Sepanduk selamat datang kepada pengguna yang direka secara manual dengan aksara alfanumerik dan bukan alfanumerik. Kemudian tetingkap mesej maklumat setiap terminal dengan Dialog dan akhirnya bar kemajuan untuk mengawal langkah seterusnya ke modul seterusnya.

Pemilihan_002

Pemilihan_003

Pemilihan_004

MODUL PEMILIHAN 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 ini adalah untuk membuat tetingkap jenis menu yang memungkinkan memilih pilihan dengan penggunaan papan kekunci dan tetikus. Setiap pilihan boleh laksanakan perintah arahan, modul, fungsi atau skrip lain. Dalam kes ini, sudah biasa simpan nilai dalam pemboleh ubah yang kemudian akan membenarkan memutuskan pesanan mengikut kandungannya.

Pemilihan_005

Pemilihan_006

Pemilihan_007

MODUL 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 melaksanakan pilihan yang telah ditentukan berdasarkan nilai yang sebelumnya disimpan dalam pemboleh ubah. Dalam kes ini, pemboleh ubah tersebut akan mencetuskan pemilihan antara terus melakukan aktiviti sahaja melalui konsol dengan arahan dan antara muka grafik dengan dialog ó melalui antara muka grafik untuk Persekitaran Desktop dengan Zenity dan Gxmessage.

Pemilihan_008

Pemilihan_009

Pemilihan_010

Pemilihan_010

Pemilihan_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 menunjukkan mesej oleh konsol perpisahan dan menghapus fail pelaksanaannya yang berjaya.

Di bawah a Screencast di mana ditunjukkan bagaimana modul-modul ini dan yang sebelumnya dilaksanakan sehingga mereka dapat memeriksa bagaimana semua modul yang ditunjukkan selama 8 pelajaran sebelumnya berfungsi, dan mengesahkan kehebatan Shell Scripting mempunyai tahap yang lebih tinggi:

Video Ujian Skrip

Dan mengapa kita harus menggunakan antara muka pengguna konsol atau persekitaran grafik ke Skrip kita?

Kita mesti ingat itu antara muka pengguna grafik, juga dikenali sebagai GUI (Antara Muka Pengguna Grafik) mereka adalah media yang digunakan untuk mewakili maklumat dan tindakan yang tersedia di antara muka yang lebih rendah, menggunakan sekumpulan gambar dan objek grafik. Penggunaan utamanya terdiri daripada menyediakan persekitaran visual yang sederhana untuk membolehkan komunikasi dengan sistem operasi mesin atau komputer.

Biasanya kita melakukan tindakan melalui interaksi langsung dengan peralatan, iaitu dengan mengetik perintah atau menjalankan skrip dengan papan kekunci. DAN GUI muncul sebagai evolusi baris arahan sistem operasi pertama dan menjadi bahagian asas dalam persekitaran grafik.

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

Menggunakan antara muka grafik memberi kita kelebihan dan kekurangan, seperti:

Antara kelebihannya: Memudahkan pengendalian prosedur, Menampilkan setiap perintah di layar melalui gambar atau objek, Menyediakan mekanisme kawalan standard seperti tingkap dan kotak dialog kepada pengguna, Membolehkan pengguna berinteraksi dengan sistem dengan cara yang lebih mudah.

Antara kelemahannya: Ia menggunakan lebih banyak sumber daya sistem operasi, kerumitan, waktu pengembangan, dan kos untuk melakukan pembangunan seperti itu.

Sekiranya anda ingin mengetahui lebih lanjut mengenai cara membuat antara muka baru dan lebih indah di Terminal atau di Desktop, saya cadangkan anda belajar tentang beberapa arahan yang digunakan untuk membina tetingkap dialog dengan kemampuan untuk menerima atau memberikan maklumat yang dapat ditindaklanjuti dengan skrip bash, seperti:

dialog: Di dalamnya Manual Dialog memberi kami pelbagai pilihan yang anda ada.

Mesej Gx: Di dalamnya Manual Gxmessage memberi kami pelbagai pilihan yang anda ada.

Zenty: Di dalamnya Manual Zenity memberi kami pelbagai pilihan yang anda ada.

Dan jika anda ingin memberikan sentuhan yang lebih istimewa dan interaktif pada Skrip (Program) anda, baik dengan Bash Shell atau yang lain Shell Saya mengesyorkan program-program lain yang, apabila digunakan dengan baik, dapat membantu anda membuat keajaiban sebenar tanpa terlalu mahir dalam masalah Shell Scripting. Antara program ini kami ada:

  • maklumkan-hantar: Perintah yang sangat berguna untuk membuat pemberitahuan untuk acara seperti memberitahu ketika e-mel tiba, kenalan dimasukkan ke dalam talian dan membuat peringatan tentang pelbagai tugas. 
  • letak: Perintah yang digunakan antara lain untuk meletakkan kursor di layar, menghapus data dari layar, mengetahui jumlah baris dan lajur di layar, memposisikan medan dengan betul, menghapus medan yang inputnya dikesan sebagai kesalahan. Bagaimanapun, hampir semua parameterisasi skrin dilakukan dengan perintah ini. 
  • persediaan: Perintah yang memungkinkan untuk mengawal kunci pengaktifan dan penyahaktifan huruf besar / kecil, papan kekunci angka dan papan kekunci tatal secara berasingan untuk setiap konsol dan desktop.

Nah, setakat ini siri ini!


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.