Xây dựng chương trình của bạn từng bước bằng cách sử dụng Shell Scripting - Phần 8

Một lần nữa bienvenidos mới này bài học (# 8) các Khóa học (Hướng dẫn) trên Shell Scripting ”. Ở trên 7 bài học Chúng tôi có thể tạo và / hoặc tìm hiểu về cách tạo một số mô-đun (phần) mã nhất định với các chức năng cụ thể thông qua  Shell Scripting sử dụng Bash Shell như một thông dịch viên hiệu suất. Các mô-đun này cho đến nay là:

Shell Scripting

Đi đến bài trước (bài 7) nhấn vào liên kết sau:

Trong thứ tám (8) Mặt khác, chúng tôi sẽ tập trung vào việc xây dựng một số mô-đun, như sau:

MODULE CẤU HÌNH CHUYÊN NGHIỆP:


# 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

Chức năng của mô-đun này là để chỉ ra cho chương trình biết rằng bàn điều khiển để thực hiện các tác vụ yêu cầu kết nối internet yêu cầu proxy. nếu bạn không chỉ ra bất cứ điều gì (Chìa khóa đăng ký hạng mục thi mà không cần đặt bất kỳ IP nào) chương trình sẽ giả định rằng không cần proxy, nếu không bạn phải chỉ ra một IP: CỔNG, để nó cấu hình proxy ra ngoài tạm thời và thực hiện kết nối.

Selection_001

MODULE CHÀO MỪNG


# 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
             

Chức năng của mô-đun này là hiển thị Biểu ngữ chào mừng cho người dùng được thiết kế theo cách thủ công với các ký tự chữ và số và không phải chữ và số. Sau đó, một cửa sổ thông báo thông tin trên mỗi thiết bị đầu cuối với Đối thoại và cuối cùng là thanh tiến trình để kiểm soát bước tiếp theo của mô-đun tiếp theo.

Selection_002

Selection_003

Selection_004

MODULE LỰA CHỌN GIAO DIỆN NGƯỜI DÙNG


# 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

Chức năng của mô-đun này là tạo một cửa sổ dạng menu cho phép chọn một tùy chọn với việc sử dụng cả bàn phím và chuột. Mỗi tùy chọn có thể thực hiện một lệnh lệnh, một mô-đun, một chức năng hoặc một tập lệnh khác. Trong trường hợp cụ thể này, nó được sử dụng để lưu trữ một giá trị trong một biến sau đó sẽ cho phép quyết định một đơn đặt hàng theo nội dung của nó.

Selection_005

Selection_006

Selection_007

MÔ ĐUN LỰA CHỌN VÀ THI CÔNG CÁC CHẾ ĐỘ BỔ SUNG


# 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
       

Chức năng của mô-đun này là thực thi một tùy chọn được xác định trước dựa trên một giá trị được lưu trữ trước đó trong một biến. Trong trường hợp này, biến đó sẽ kích hoạt lựa chọn giữa việc chỉ tiếp tục thực hiện các hoạt động thông qua bảng điều khiển với các lệnh và giao diện đồ họa với hộp thoại ó thông qua các giao diện đồ họa cho Môi trường Máy tính để bàn với Zenity và Gxmessage.

Selection_008

Selection_009

Selection_010

Selection_010

Selection_011

MÔ HÌNH TRANG TRÍ


# 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               

Chức năng của mô-đun này là hiển thị thông báo bằng bảng điều khiển tạm biệt và xóa tệp thực thi thành công cùng.

Dưới một Screencast nơi hiển thị cách các mô-đun này và các mô-đun trước đó được thực thi để chúng kiểm tra cách tất cả các mô-đun hiển thị trong 8 bài học trước hoạt động như thế nào và chứng nhận sức mạnh của Shell Scripting có cấp độ cao hơn:

Video Kiểm tra Tập lệnh

Và tại sao chúng ta nên sử dụng giao diện người dùng console hoặc môi trường đồ họa cho Script của chúng ta?

Chúng ta phải nhớ rằng giao diện người dùng đồ họa, cũng được biết đến như là GUI (Giao diện người dùng đồ họa) họ là phương tiện được sử dụng để thể hiện thông tin và hành động có sẵn trong giao diện bên dưới, sử dụng một tập hợp các hình ảnh và đối tượng đồ họa. Công dụng chính của nó bao gồm cung cấp một môi trường trực quan đơn giản để cho phép giao tiếp với hệ điều hành của máy hoặc máy tính.

Thông thường, chúng tôi thực hiện các hành động thông qua tương tác trực tiếp với thiết bị, tức là bằng cách gõ lệnh hoặc thực hiện một tập lệnh với bàn phím. VÀ GUI xuất hiện như một sự phát triển của dòng lệnh của hệ điều hành đầu tiên và trở thành phần cơ bản trong môi trường đồ họa.

Và trong bối cảnh quá trình tương tác giữa con người và máy tính, GUI là phương tiện công nghệ tương tác cho phép chúng ta, thông qua việc sử dụng và ngữ cảnh đồ họa của ngôn ngữ hình ảnh, tương tác thân thiện với hệ thống máy tính.

Sử dụng giao diện đồ họa cung cấp cho chúng ta những lợi thế và bất lợi, chẳng hạn như:

Trong số các ưu điểm: Tạo điều kiện thuận lợi cho việc xử lý các thủ tục, Hiển thị từng lệnh trên màn hình thông qua một hình ảnh hoặc đối tượng, Cung cấp các cơ chế điều khiển được tiêu chuẩn hóa như cửa sổ và hộp thoại cho người dùng, Cho phép người dùng tương tác với hệ thống một cách dễ dàng hơn.

Trong số những nhược điểm: Nó sử dụng nhiều tài nguyên hệ điều hành hơn, độ phức tạp, thời gian phát triển và chi phí phát triển như vậy.

Nếu bạn muốn biết thêm về cách tạo giao diện mới và đẹp hơn trong Terminal hoặc trên Desktop, tôi khuyên bạn nên tìm hiểu về một số lệnh được sử dụng để xây dựng cửa sổ hộp thoại với khả năng nhận hoặc cung cấp thông tin có thể hành động bằng các tập lệnh bash, chẳng hạn như:

đối thoại: Trong Hướng dẫn sử dụng hộp thoại cung cấp cho chúng tôi các tùy chọn khác nhau mà bạn có.

gxmessage: Trong Hướng dẫn sử dụng Gxmessage cung cấp cho chúng tôi các tùy chọn khác nhau mà bạn có.

Zenty: Trong Hướng dẫn sử dụng Zenity cung cấp cho chúng tôi các tùy chọn khác nhau mà bạn có.

Và nếu bạn muốn cung cấp một liên lạc tương tác và đặc biệt hơn nữa cho Tập lệnh (Chương trình) của mình bằng Vỏ bash hoặc khác Shell Tôi đề xuất các chương trình khác này, được sử dụng tốt, có thể giúp bạn tạo ra những điều kỳ diệu thực sự mà không cần phải có nhiều kỹ năng trong các vấn đề về Shell Scripting. Trong số các chương trình này, chúng tôi có:

  • thông báo-gửi: Lệnh rất hữu ích để tạo thông báo cho các sự kiện như thông báo khi có email đến, một số liên lạc được đưa trực tuyến và thực hiện nhắc nhở về các tác vụ khác nhau. 
  • đặt: Lệnh được sử dụng trong số nhiều thứ để định vị con trỏ trên màn hình, xóa dữ liệu khỏi màn hình, biết số dòng và cột trên màn hình, định vị chính xác một trường, xóa một trường mà đầu vào được phát hiện là lỗi. Dù sao, hầu như tất cả các tham số hóa của màn hình được thực hiện bởi lệnh này. 
  • định cư: Lệnh cho phép điều khiển các phím kích hoạt và tắt kích hoạt của các chữ cái viết hoa / viết thường, bàn phím số và bàn phím cuộn riêng cho từng bảng điều khiển và máy tính để bàn.

Chà, cho đến nay loạt bài này!


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.