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