Praktik terbaik untuk membuat Shell Script di GNU / Linux - Bagian 2

Pertama-tama, sebelum membaca publikasi ini, saya sarankan Anda membaca bagian I dari publikasi tersebut, disebut «Praktik terbaik untuk membuat Skrip Shell di GNU / Linux".

Shell Scripting

Selanjutnya, kecil ringkasan kebahagiaan yang paling penting entri sebelumnya:

A) Shebang yang ideal itu harus ditulis sebagai berikut:

#! / usr / bin / env bash.

Catatan: Mengganti kata menampar dengan cangkang pilihan Anda.

B) Untuk mencapai yang terbaik STRICT atau SAFE BASH MODE (Bash Strict Mode / BSM) kami menawarkan alternatif berikut:

B.1) Konfigurasi Bagian Debugging:

  1. set -o salah
  2. set -o kata benda
  3. setel -o kegagalan pipa
  4. # setel -o xtrace

Namun, pada entri baru ini kami menyarankan untuk meminimalkan baris kode berikut ini BASH STRICT atau SAFE MODE (Bash Strict Mode / BSM):

set -eou pipefail

Dengan ini BSM kami mencapai persis sama dengan 3 baris sebelumnya.

Rekomendasi pribadi saya adalah: Setelah Skrip Shell Anda dibuat, tambahkan baris BSM untuk mulai men-debug dan menyempurnakan Skrip Anda dan membuatnya sangat berfungsi. Bila Anda mau, tambahkan kata BSM pilihan (-X) untuk mencapai efek yang sama seperti saat Anda mengaktifkan baris: atur -o xtrace, dalam metode di atas, yaitu baris Anda BSM itu akan terlihat seperti ini:

set -eoux pipefail

B.2) Konfigurasi Bagian Keluaran dari Variabel yang dikonfigurasi:

IFS=$'\n\t'

Menambahkan baris ini kami melanjutkan untuk mengkonfigurasi ulang variabel Pemisah Bidang Internal dan mencapai tampilan yang lebih baik dan / atau menangkap kata (bidang) dari string karakter. Aktifkan atau tidak, sesuai dengan kebutuhan dan kebutuhan Anda.

Dengan pengaturan tipikal ini:


    #!/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

Output dari variabel akan diperoleh dengan cara berikut:


a
b
c
a b c

Dengan pengaturan default dan yang direkomendasikan:


    #!/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

Output dari variabel akan diperoleh dengan cara berikut:


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) Bagian Konfigurasi dari konfigurasi default dari terminal eksekusi:

setterm --reset

Menambahkan baris ini kami melanjutkan untuk mengatur ulang seluruh sesi dan parameter eksekusi terminal tempat penggunaan Skrip shell dieksekusi. Aktifkan atau tidak, sesuai dengan kebutuhan dan kebutuhan Anda.

Dengan ini kita akan memiliki file BSM sangat berguna dan efisien untuk memiliki yang terbaik Skrip shell.

Terakhir, kita akan menjelajahi apa yang seharusnya dimiliki Shell Script di bawah ini:

  • Bagian informatif tentang Pencipta dan Program:

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

  • Bagian informatif tentang Lisensi Program:

###########################################################
# 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
############################################################

Saya berharap dengan bagian kedua ini "Praktik terbaik untuk membuat Skrip Shell di GNU / Linux" cukup bagi mereka untuk dapat fokus secara menyeluruh pada setiap aspek kecilnya dan alasan banyak hal saat membuat Skrip shellArtinya, saya harap beberapa tips ini akan membantu Anda dalam membuat lebih baik Skrip shell, tapi tidak untuk dirimu sendiri, tapi untuk mereka Pengguna o sysadmin Anda harus mengelolanya. Sehingga Anda tidak harus melalui tugas yang membosankan dan sulit de cari tahu apa yang mereka kodekan, bagaimana dan mengapa, dan mengapa itu tidak lagi berfungsi.

Sampai postingan selanjutnya tentang Shell Scripting!


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.