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 4

Trong các mục trước của loạt ấn phẩm này, chúng tôi đã nhắc nhở về cách triển khai:

Shell Scripting

Và trong những phần trước, cách triển khai Shebang và BSM (Chế độ Bash nghiêm ngặt / Chế độ Bash nghiêm ngặt).

Các phương pháp hay nhất để tạo Shell Script trong GNU / Linux - Phần 1

Các phương pháp hay nhất để tạo Shell Script trong GNU / Linux - Phần 2

Đây là một ví dụ về Mô-đun tối ưu hóa, lấy làm ví dụ một trong những chương trình (ứng dụng) sự thật trong một Tập lệnh shell gọi Cài đặt bài đăng trên Linux - Bicentennial Script 8.0:

Đây phải là mô-đun (phần) để cài đặt các gói cơ sở cần thiết để cùng một chức năng hoạt động bình thường hoặc thực hiện các hành động tối thiểu cần thiết để cập nhật, duy trì hoặc thực hiện Môi trường làm việc hoặc Hệ điều hành để mọi thứ chạy ổn định. Cá nhân tôi thêm các dòng sau để tạo mô-đun này:


###############################################################################
# INICIO DEL MODULO DE OPTIMIZACIÓN AL LINUX POST INSTALL - SCRIPT BICENTENARIO               
###############################################################################

# Sección que instala los paquetes bases del LPI-SB

echo -e '\a'

apt update && apt install dialog gxmessage zenity espeak gksu -y && apt install -f && dpkg --configure -a

if [ $? = 0 ]; then

     echo ""
     echo ""
     echo "#--------------------------------------------------------#"
     echo "#LA INSTALACIÓN DE LOS PAQUETES HA CULMINADO EXITOSAMENTE#"
     echo "#--------------------------------------------------------#"
     echo ""
     echo ""

     play /usr/share/sounds/info.wav 2> /dev/null

     sleep 3
     clear

else

     echo ''
     echo ''
     echo '#--------------------------------------------------------#'
     echo '# LA INSTALACIÓN DE LOS PAQUETES NO CULMINO EXITOSAMENTE #'
     echo '#--------------------------------------------------------#'
     echo ''
     echo ''

     play /usr/share/sounds/warning.wav 2> /dev/null

     sleep 3
     clear

     echo ''
     echo ''
     echo '#--------------------------------------------------------#'
     echo '#                  EJECUTE MANUALMENTE                   #'
     echo '# UN MANTENIMIENTO PREVENTIVO Y CORRECTIVO EN SU SISTEMA #'
     echo '#   EJECUTANDO LA SIGUIENTES ORDEN DE COMANDO, 1 HA 1:   #'
     echo '#                                                        #'
     echo '#                       apt update                       #'
     echo '#                     apt install -f                     #'
     echo '#                   dpkg --configure -a                  #'
     echo '#                       apt upgrade                      #'
     echo '#                                                        #'
     echo '#   LUEGO INSTALE MANUALMENTE LOS PAQUETES NECESARIOS    #'
     echo '#         CON LA ORDEN DE COMANDO SIGUIENTE:             #'
     echo '#                                                        #'
     echo '#      apt install dialog gxmessage zenity espeak -y     #'
     echo '#                                                        #'
     echo '#  AHORA, VUELVA HA INTENTAR EJECUTAR EL SCRIPT LPI-SB   #'
     echo '#--------------------------------------------------------#'
     echo ''
     echo ''

     sleep 3
     clear

     play /usr/share/sounds/info.wav 2> /dev/null

     exit 0

fi

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=BIENVENIDO%20AL%20LINUX%20POST%20INSTALL%20-%20SCRIPT%20BICENTENARIO&tl=es&total=1&idx=0&textlen=54&tk=511133.124198&client=t&prev=input&ttsspeed=0.24" ; play -q /tmp/audio.mp3

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=ESTIMADO%20USUARIO%2C%20ESPERE%20UNOS%20SEGUNDOS%20MIENTRAS%20EL%20PROGRAMA%20SE%20CARGA%20E%20INICIA&tl=es&total=1&idx=0&textlen=77&tk=337132.200023&client=t&prev=input" ; play -q /tmp/audio.mp3

###############################################################################
# FINAL DEL MODULO DE OPTIMIZACIÓN AL LINUX POST INSTALL - SCRIPT BICENTENARIO               
###############################################################################

===============

Như bạn có thể thấy, mô-đun này chạy một cập nhật năng khiếu, tiếp theo là cài đặt các gói hộp thoại gxmessage zenity espeak gksu, tiếp tục với các lệnh cài đặt aptitude -f y dpkg --configure -a. Và trong trường hợp nếu và chỉ khi mọi thứ đã được thực hiện một cách ổn thỏa, thông điệp trực quan bằng thiết bị đầu cuối hoàn thành thành công với một âm thanh cảnh báo và tôi tiếp tục với bước tiếp theo (mô-đun / phần) của Tập lệnh Shell. Nếu không, một thông điệp trực quan bằng thiết bị đầu cuối nhận ra không thành công với một âm thanh cảnh báo, với người khác thông báo trực quan bằng thiết bị đầu cuối đề xuất các thao tác thủ công được thực hiện để tránh lỗi lại xảy ra, và sau đó kết thúc việc thực thi Tập lệnh Shell.

Đối với 2 dòng cuối cùng của mô-đun, những thứ bắt đầu bằng lệnh wget, hiện tại những điều này không còn cần thiết, vì đây là một phần của quy trình thí nghiệm do tôi điều chỉnh để đạt được sự hỗ trợ giọng nói của Tập lệnh shell với kết nối internet bằng cách sử dụng Bộ tổng hợp giọng nói trực tuyến từ Google Dịch và giọng nữ gợi cảm của cô ấyvà do đó thay thế bộ tổng hợp với giọng nói robot (nam / nữ) được cung cấp cục bộ bởi Hệ điều hành GNU / Linux với các gói (chương trình) espeak, festival, festvox, mbrola, speech and stardict.

Khuyến nghị:

ĐỌC TÀI LIỆU: «THE CATHEDRAL VÀ BAZAR»

Nhà thờ và Chợ là một loại tuyên ngôn được tạo ra bởi Eric S Raymond trong năm 1.998 để cố gắng giải thích từ quan điểm và kinh nghiệm cá nhân của bạn (Tạo ra chương trình Nhận thư) những gì anh ấy nhận thấy về việc tạo và phát triển thành công Linux và các chương trình liên quan của nó, đặc biệt là từ quan điểm về sự khác biệt giữa Mô hình phát triển phần mềm, mà cá nhân anh ấy gọi là: Mô hình Nhà thờ và Mô hình Chợ.

Phân tích tóm tắt của tôi về tài liệu đó như sau:

Bài đọc này gợi ý hoặc trình bày tầm nhìn mà trong thế giới của Phần mềm Ingeniería del có “hai phong cách phát triển hoàn toàn khác nhau, mô hình nhà thờ, áp dụng cho hầu hết các phát triển được thực hiện trên thế giới Phần mềm thương mại, ở đằng trước mô hình chợ, điển hình hơn của thế giới Linux ". Nhấn mạnh rằng 2 mô hình này có nguồn gốc từ các điểm xuất phát trái ngược nhau về bản chất của quá trình gỡ lỗi phần mềm và từ lý thuyết cụ thể của ông về những gì ông gọi là Luật Linus trong đó nêu những điều sau: "Cho đủ số lượng mắt, tất cả các lỗi đều không liên quan" hay nói cách khác: "Có đủ con mắt, mọi sai lầm đều là chuyện vặt".

Cũng trong bài đọc này, tác giả nhấn mạnh từ Hacker, theo ý kiến ​​của tôi, tác giả đã thể hiện như một loại Người dùng cấp cao có khả năng hiểu và khai thác hiệu quả một chương trình, đồng thời phát hiện, đề xuất hoặc thực hiện các chỉnh sửa hoặc sửa đổi ở dạng và nội dung hiệu quả cho toàn bộ cộng đồng người dùng. Tôi thích khái niệm tự đề xuất này rất nhiều vì tôi nghĩ nó đúng, tuy nhiên, tôi sẽ để lại một khái niệm mà tôi cũng rất thích vì nó mang tính toàn cầu và / hoặc chung chung hơn nhiều.

Hacker

"Linux đang lật đổ." Tại sao? Điều đầu tiên mà bài đọc này cho chúng ta biết là:

Cho đến thời điểm đó, có rất nhiều phương pháp hoặc mô hình phát triển phần mềm được tiêu chuẩn hóa dựa trên "Phương pháp tiếp cận có kế hoạch và tập trung hơn ngay từ đầu" do hành động thiết kế Phần mềm được coi là thứ liên quan đến nhân tố bí ẩn Dẫn đến "Một số phức tạp quan trọng". Và điều đó mặc dù thực tế là điều này đã tồn tại trong Thế giới UnixNói cách khác, công việc bao gồm các công cụ nhỏ, phát triển nguyên mẫu nhanh chóng và lập trình tiến hóa, sự xuất hiện của triết lý phát triển Phần mềm tự do trong Linux đã đưa vấn đề lên một cấp độ phức tạp khác.

Do đó, trong khi Phát triển phần mềm tư nhân được làm bằng "Cách im lặng và tôn kính", khi bạn xây dựng một Thánh đường, The Phát triển phần mềm miễn phí (Linux) được làm bằng "cách nhộn nhịp và với nhiều chương trình nghị sự (đường dẫn) và phương pháp tiếp cận (đề xuất) ", giống như bạn đã ở trong một Bazar.

Cuối cùng, nó cho thấy một loạt tiền đề đáng được phá vỡ và tiêu hóa trong bối cảnh thích hợp của chúng để hiểu những người phát triển cho Cộng đồng người dùng phần mềm tự do. Các cơ sở này là:

  1. TẤT CẢ CÁC CÔNG VIỆC TỐT TRONG PHẦN MỀM BẮT ĐẦU THỬ ĐỂ XIN MỘT VẤN ĐỀ CÁ NHÂN TỪ MÀ BẠN LẬP LỊCH TRÌNH CỦA CHÚNG.
  2. NHỮNG NGƯỜI LẬP TRÌNH TỐT BIẾT NHỮNG GÌ ĐỂ VIẾT. ĐIỀU TUYỆT VỜI NHẤT BIẾT NHỮNG GÌ ĐỂ VIẾT (VÀ SỬ DỤNG lại).
  3. HÃY NGHĨ VỀ VIỆC TIẾT LỘ ÍT NHẤT: BẠN SẼ KẾT THÚC LÀM VIỆC NÓ BẤT CỨ LÚC NÀO. "
  4. NẾU BẠN CÓ THÁI ĐỘ ĐÚNG, NHỮNG VẤN ĐỀ QUAN TÂM SẼ TÌM ĐƯỢC BẠN.
  5. KHI MỘT CHƯƠNG TRÌNH KHÔNG CÒN BẠN QUAN TÂM, NHIỆM VỤ CUỐI CÙNG CỦA BẠN LÀ CHUYỂN ĐẾN MỘT NGƯỜI THÀNH CÔNG CẠNH TRANH.
  6. XỬ LÝ NGƯỜI DÙNG CỦA BẠN NHƯ NGƯỜI LAO ĐỘNG LÀ CÁCH ÍT NHẤT ĐỂ CẢI THIỆN VÀ HIỆU QUẢ MỘT CHƯƠNG TRÌNH NỢ HIỆU QUẢ.
  7. PHÁT HIỆN NGAY LÚC NÀY. Khởi chạy IT OFTEN. VÀ LẮNG NGHE NGƯỜI DÙNG CỦA BẠN.
  8. TẤT CẢ CÁC VẤN ĐỀ SẼ ĐƯỢC XÁC ĐỊNH NHANH CHÓNG VÀ GIẢI PHÁP CỦA HỌ SẼ PHÙ HỢP VỚI MỘT SỐ NGƯỜI.

Cộng với 11 cơ sở còn lại khác thuộc loại nghiêm túc hơn (đạo đức), không đi kèm với câu chuyện mà với những gì được giải thích bởi mỗi người đọc (nhà phát triển), trong trường hợp rất cụ thể của tôi, đã dẫn tôi đến những kết luận sau:

Kết luận

Tôi hy vọng bạn thích thông tin này và nó hữu ích, vì Bài đọc Nhà thờ và Chợ là tài liệu tham khảo bắt buộc đối với tất cả những người lập trình bất kỳ chương trình Phát triển trong Phần mềm Tự do nào, bất kể lớn hay nhỏ.

Sau đó, trong các bài viết tới, chúng ta sẽ tiếp tục xem một ví dụ về mô-đun (phần) thực hiện các chức năng như:

  • MODULE ỦY QUYỀN NGƯỜI DÙNG VỚI MẬT KHẨU
  • MÔ HÌNH PHÁT HIỆN KIẾN TRÚC HỆ THỐNG VẬN HÀNH
  • MÔ ĐUN CẤU HÌNH NGÔN NGỮ MÃ
  • MÔ ĐUN CẤU HÌNH PROXY CHO MÔI TRƯỜNG THI CÔNG

Trong số nhiều người khác!

Và như mọi khi, tôi khuyên bạn nên học theo cách tự học về các lệnh: gksu, hộp thoại, gxmessage, zenity, espeak, play, trong số nhiều người khác để tạo giao diện đồ họa bằng Thiết bị đầu cuối hoặc cho Màn hình của người dùng, với các cảnh báo âm thanh hoặc đa phương tiện, và nâng cao kiến ​​thức mà họ sẽ sử dụng sau này.

Hãy nhớ rằng những điều này và bất kỳ đề xuất nào khác về một số mô-đun, hàm, biến, lệnh hoặc hành động nói chung nó có thể được thực hiện nhiều cáchvà những gì được hiển thị ở đây không gì khác ngoài một cách đơn giản, sau đó nhiều cách khả thi và có thể xảy ra trong đó nói hành động có thể hoặc có thể được thực hiện!

Chỉ để kết thúc tôi rời xa bạn, một Screencast do tôi thực hiện, để cho bạn thấy bạn sẽ có khả năng gì sau khi hoàn thành Khóa học trực tuyến Shell Scripting tại DesdeLinux:

Màn hình thử nghiệm LPI-SB8

(CÀI ĐẶT LINUX POST - SCRIPT BICENTENARIO 8.0.0) - Phần 2


Để 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.