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

Trước hết, trước khi đọc ấn phẩm này, tôi khuyên bạn nên đọc phần I của ấn phẩm đã nói, được gọi là «Các phương pháp hay nhất để tạo Tập lệnh Shell trong GNU / Linux".

Shell Scripting

Tiếp theo, một tóm tắt điều quan trọng nhất của hạnh phúc mục nhập trước:

A) Shebang lý tưởng nó phải được viết như sau:

#! / usr / bin / env bash.

Lưu ý: Thay thế từ bash bằng vỏ của sự lựa chọn của bạn.

B) Để đạt được một xuất sắc CHẾ ĐỘ TIỀN MẶT NGHIÊM TÚC hoặc AN TOÀN (Chế độ nghiêm ngặt Bash / BSM), chúng tôi cung cấp các lựa chọn thay thế sau:

B.1) Cấu hình của Phần gỡ lỗi:

  1. đặt -o errexit
  2. set -o danh từ
  3. đặt -o đường ống thất bại
  4. # đặt -o xtrace

Tuy nhiên, trong mục nhập mới này, chúng tôi đề xuất để giảm thiểu các dòng mã sau CHẾ ĐỘ NGHIÊM NGẶT hoặc CHẾ ĐỘ AN TOÀN (Chế độ nghiêm ngặt Bash / BSM):

set -eou pipefail

Với cái này BSM chúng tôi đạt được chính xác như với 3 dòng trước đó.

Khuyến nghị cá nhân của tôi là: Sau khi Tập lệnh Shell của bạn được tạo, hãy thêm (các) dòng BSM để bắt đầu gỡ lỗi và hoàn thiện Tập lệnh của bạn và làm cho nó hoạt động tốt. Khi bạn muốn, hãy thêm nói BSM tùy chọn (-NS) để đạt được hiệu quả tương tự như khi bạn bật dòng: đặt -o xtrace, trong phương pháp trên, nghĩa là dòng của bạn BSM Nó sẽ giống như thế này:

set -eoux pipefail

B.2) Cấu hình Phần đầu ra của các Biến được cấu hình:

IFS=$'\n\t'

Thêm dòng này chúng ta tiến hành cấu hình lại biến Dấu phân tách trường nội bộ và hiển thị tốt hơn và / hoặc nắm bắt các từ (trường) của một chuỗi ký tự. Kích hoạt nó hoặc không, theo yêu cầu và nhu cầu của bạn.

Với các cài đặt điển hình sau:


    #!/bin/bash
    IFS=$' '
    items="a b c"
    for x in $items; do
        echo "$x"
    done

    IFS=$'\n'
    for y in $items; do
        echo "$y"
    done

Kết quả đầu ra của các biến sẽ được lấy theo cách sau:


a
b
c
a b c

Với cài đặt mặc định và được đề xuất:


    #!/bin/bash
    names=(
      "Aaron Maxwell"
      "Wayne Gretzky"
      "David Beckham"
      "Anderson da Silva"
    )

    echo "Con el valor por defecto de la variable IFS..."
    for name in ${names[@]}; do
      echo "$name"
    done

    echo ""
    echo "Con el Modo BSM para el valor de la variable IFS activado..."
    IFS=$'\n\t'
    for name in ${names[@]}; do
      echo "$name"
    done

Kết quả đầu ra của các biến sẽ được lấy theo cách sau:


Con el valor por defecto de la variable IFS...
Aaron
Maxwell
Wayne
Gretzky
David
Beckham
Anderson
da
Silva

Con el Modo BSM para el valor de la variable IFS activado...
Aaron Maxwell
Wayne Gretzky
David Beckham
Anderson da Silva

B.3) Phần cấu hình của cấu hình mặc định của thiết bị đầu cuối thực thi:

setterm --reset

Thêm dòng này, chúng tôi tiến hành đặt lại hoàn toàn toàn bộ phiên và các thông số thực thi của thiết bị đầu cuối nơi sử dụng Tập lệnh shell Thực thi. Kích hoạt nó hoặc không, theo yêu cầu và nhu cầu của bạn.

Với điều này, chúng tôi sẽ có một BSM rất hữu ích và hiệu quả để có một Tập lệnh shell.

Cuối cùng, chúng ta sẽ khám phá Shell Script đó nên có những gì bên dưới:

  • Phần thông tin về Người sáng tạo và Chương trình:

###########################################################
# SECCIÓN INFORMATIVA SOBRE EL CREADOR Y EL PROGRAMA
###########################################################

###########################################################
#                             MI PAÍS 
#
# NOMBRE: 
# VERSIÓN: 
# TIPO DE PROGRAMA:
# FUNCIÓN:
# NOMBRE CÓDIGO:
# PAÍS ORIGEN:
# CREADO POR:
# EMAIL:
# NOMBRE FACEBOOK:
# PAGINA PERSONAL FACEBOOK:
# COMUNIDAD FACEBOOK:
# TWITTER:
# TELÉFONO:
# PROMOCIONADO POR:
# PAGINA WEB DEL PROYECTO TIC - TAC:
# FECHA DE LANZAMIENTO DE LA PRIMERA VERSIÓN (1.0):
# FECHA DE LANZAMIENTO DE LA VERSIÓN ACTUAL (8.0+0):
# FECHA DE ULTIMA ACTUALIZACIÓN:
###########################################################

  • Một phần thông tin về Cấp phép Chương trình:

###########################################################
# SECCIÓN INFORMATIVA SOBRE EL LICENCIAMIENTO DEL PROGRAMA
###########################################################

###########################################################
# NOMBRE DEL SCRIPT DE SHELL
###########################################################
#
# Derechos de autor:
# Copyleft (C) Año - Creador
# 
# Licenciamiento:
#
# El NOMBRE DEL SCRIPT DE SHELL no viene con ninguna garantía. El 
# Autor no se hace responsable si se al aplicarse el S.O., se
# corrompe, daña o inutiliza.
#
# El NOMBRE DEL SCRIPT DE SHELL es una aplicación de Software 
# Libre, por lo tanto usted puede redistribuirlo y / o modificarlo 
# bajo los términos de la Licencia Pública General de GNU
# publicada por la free Software Foundation, o sea, la versión 3
# ó versión posterior, según sea su preferencia.
#
# Este programa se distribuye con la esperanza de que sea útil,
# pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
# COMERCIALIZACIÓN o IDONEIDAD para un propósito particular.
# Vea la Licencia Publica General para más detalles.
#
# Procure obtener una copia de la Licencia Pública General de GNU
# para estar al tanto sobre lo estipulado por la misma.
#
# Consúltela en:
#
# http://www.gnu.org/licenses/licenses.es.html
# http://www.gnu.org/licenses/license-list.html
# http://www.gnu.org/licenses/gpl-howto.es.html
# http://www.gnu.org/help/evaluation.html
# http://www.gnu.org/licenses/gpl-3.0.html#howto
#
# Más Información:
#
# http://www.creativecommonsvenezuela.org.ve/cc-licencias
# http://creativecommons.org/choose/?lang=es_ES
#
# Por lo tanto, Si usted hace alguna modificación en esta
# aplicación o toma una porción de él, deberá siempre mencionar al
# autor original de la misma:
#
# Desarrollador : 
# Nick          : 
# Twitter       : 
# Facebook      : 
# Telegram      : 
# Canal Telegram:
#
# Este SCRIPT tiene como propósito:
#
# 1.- PROPÓSITO 1: ABCDEFGHIJKLMNÑOPQRSTUVXYZ
#
# 2.- PROPÓSITO 2: ABCDEFGHIJKLMNÑOPQRSTUVXYZ
#
############################################################
# NOMBRE DEL SCRIPT DE SHELL
############################################################

Tôi hy vọng rằng với phần thứ hai này của "Các phương pháp hay nhất để tạo Tập lệnh Shell trong GNU / Linux" là đủ để họ có thể tập trung toàn diện vào từng khía cạnh nhỏ của nó và lý do của nhiều thứ khi tạo Tập lệnh shellnghĩa là, tôi hy vọng rằng một số mẹo này sẽ giúp bạn khi nói đến việc cải thiện Tập lệnh shell, nhưng không quá nhiều cho chính bạn, nhưng cho những người Người sử dụng o quản trị hệ thống bạn phải quản lý chúng. Để bạn không phải trải qua nhiệm vụ tẻ nhạt và khó khăn de tìm hiểu những gì họ đã mã hóa, làm thế nào và tại sao và tại sao nó không còn hoạt động.

Cho đến những bài viết tiếp theo trên Shell Scripting!


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