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:
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.
# 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.
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.
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.
# 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:
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!