Bir kere daha karşılama buna yeni ders (# 8) del Kurs (Eğitim) üzerinde Kabuk Komut Dosyası ”. Yukarıda 7 dersleri Belirli işlevlere sahip belirli kod modüllerinin (bölümlerinin) nasıl oluşturulacağını ve / veya nasıl oluşturulacağını öğrendik. Bash Kabuğu kullanarak Kabuk Komut Dosyası Oluşturma performans tercümanı olarak. Şimdiye kadarki bu modüller:
E gitmek önceki gönderi (ders 7) aşağıdaki bağlantıya basın:
Bu da sekizinci (8) Öte yandan, birkaç modülün yapımına odaklanacağız, bunlar aşağıdaki gibidir:
PROXY KONFİGÜRASYON MODÜLÜ:
# 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
Bu modülün işlevi, programa konsolun internet bağlantısı gerektiren görevleri gerçekleştirmesi için bir proxy gerektirdiğini belirtmektir. Eğer sen hiçbir şey ifade etmiyor (Anahtar Keşfet herhangi bir IP koymadan) program, proxy gerekmezaksi halde belirtmelisiniz IP: PORT, geçici bir giden proxy yapılandırması ve bağlantı gerçekleştirmesi için.
HOŞ GELDİNİZ MODÜLÜ
# 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
Bu modülün işlevi, bir Hoş geldiniz başlığı alfasayısal ve alfanümerik olmayan karakterlerle manuel olarak tasarlanmış kullanıcıya. Ardından, terminal başına bir bilgi mesajı penceresi Diyalog ve son olarak bir sonraki modüle giden sonraki adımı kontrol etmek için bir ilerleme çubuğu.
KULLANICI ARAYÜZÜ SEÇİM MODÜLÜ
# 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
Bu modülün işlevi, hem klavye hem de farenin kullanımıyla bir seçenek seçmeye izin veren bir menü tipi pencere oluşturmaktır. Her seçenek şunları yapabilir: bir komut komutu, bir modül, bir işlev veya başka bir komut dosyası yürütün. Bu özel durumda, bir değişkende bir değer depolamak o zaman izin verecek içeriğine göre bir sıraya karar verir.
EK MODÜLLER İÇİN SEÇİM VE UYGULAMA MODÜLÜ
# 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
Bu modülün işlevi, daha önce bir değişkende saklanan bir değere dayalı olarak önceden tanımlanmış bir seçeneği yürütmektir. Bu durumda, bu değişken yalnızca etkinlikleri gerçekleştirmeye devam etme arasında bir seçimi tetikleyecektir. komutlar içeren konsol ve iletişim kutusu ile grafik arayüzler aracılığıyla ó Zenity ve Gxmessage ile Masaüstü Ortamı için grafik arayüzler aracılığıyla.

FARWELL MODÜLÜ
# 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
Bu modülün işlevi, veda konsolundan bir mesaj göstermek ve bunun başarılı yürütme dosyasını silmektir.
Aşağıda Ekran yayınlama önceki 8 derste gösterilen tüm modüllerin nasıl çalıştığını kontrol edebilmeleri ve güçlerini onaylayabilmeleri için bu modüllerin ve önceki modüllerin nasıl yürütüldüğü burada gösterilir. Kabuk Betiği daha yüksek bir seviyeye sahiptir:
Ve Script'imiz için neden konsol kullanıcı arayüzlerini veya grafik ortamını kullanmalıyız?
Bunu hatırlamalıyız grafik kullanıcı arayüzleri, Ayrıca şöyle bilinir GUI (Grafik Kullanıcı Arayüzü) onlar bir dizi görüntü ve grafik nesnesi kullanarak alt arayüzde bulunan bilgi ve eylemleri temsil etmek için kullanılan araçlar. Ana kullanımı şunlardan oluşur: bir makinenin veya bilgisayarın işletim sistemiyle iletişime izin vermek için basit bir görsel ortam sağlar.
İşlemleri genellikle ekipmanla doğrudan etkileşim yoluyla, yani komutlar yazarak veya klavye ile bir komut dosyası çalıştırarak gerçekleştiririz. VE GUI'ler, ilk işletim sistemlerinin komut satırının bir evrimi olarak ortaya çıkıyor ve grafik ortamında temel parça haline gelmek.
Ve bağlamında insan-bilgisayar etkileşim süreciGUI, görsel dilin kullanımı ve grafik bağlamsallaştırması yoluyla, bir bilgisayar sistemiyle dostça bir etkileşim kurmamızı sağlayan etkileşimli teknolojik araçtır.
Grafik arayüzleri kullanmak bize aşağıdaki gibi avantajlar ve dezavantajlar sağlar:
Avantajlar arasında: Prosedürlerin işlenmesini kolaylaştırın, Ekrandaki her komutu bir görüntü veya nesne aracılığıyla görüntüleyin, Kullanıcıya pencereler ve iletişim kutuları gibi standartlaştırılmış kontrol mekanizmaları sağlayın, Kullanıcının sistemle daha kolay bir şekilde etkileşime girmesine izin verin.
Dezavantajlar arasında: Daha fazla işletim sistemi kaynağı, karmaşıklık, geliştirme süresi ve böyle bir geliştirme yapmanın maliyetini kullanır.
Terminal'de veya Masaüstünde yeni ve daha güzel arayüzlerin nasıl oluşturulacağı hakkında daha fazla bilgi edinmek istiyorsanız, bash komut dosyalarıyla eyleme geçirilebilir bilgiler alma veya verme becerisine sahip iletişim pencereleri oluşturmak için kullanılan bazı komutları öğrenmenizi tavsiye ederim. gibi:
diyalog: In İletişim Kılavuzu bize sahip olduğunuz farklı seçenekleri sunar.
Gxmesajı: In Gxmessage Kılavuzu bize sahip olduğunuz farklı seçenekleri sunar.
Zenite: In Zenity Kılavuzu bize sahip olduğunuz farklı seçenekleri sunar.
Komut Dosyanıza (Programlar) daha da özel ve etkileşimli bir dokunuş katmak istiyorsanız, Bash kabuğu ya da başka Kabuk İyi kullanıldığında, Shell Scripting konularında çok yetenekli olmadan gerçek harikalar yaratmanıza yardımcı olabilecek bu diğer programları tavsiye ederim. Sahip olduğumuz bu programlar arasında:
- bildir-gönder: Bir e-posta geldiğinde bildirimde bulunmak, bir kişi çevrimiçi hale getirmek ve çeşitli görevler için hatırlatıcılar yapmak gibi olaylar için bildirim yapmak için çok kullanışlı bir komut.
- koy: İmleci ekrana konumlandırmak, ekrandan verileri silmek, ekrandaki satır ve sütun sayısını bilmek, bir alanı doğru konumlandırmak, girişi hata olarak algılanan alanı silmek için birçok şey arasında kullanılan komut. Her neyse, ekranın neredeyse tüm parametrelendirmesi bu komutla yapılır.
- yerleşikler: Her konsol ve masaüstü için büyük / küçük harflerin, sayısal klavyenin ve kayan klavyenin etkinleştirme ve devre dışı bırakma tuşlarını ayrı ayrı kontrol etmeyi sağlayan komut.
Şimdiye kadar bu dizi!











