Najbolje prakse za stvaranje skripte ljuske u GNU / Linux - 2. dio

Prije svega, prije čitanja ove publikacije, preporučujem vam da pročitate I dio spomenute publikacije, nazvano «Najbolje prakse za stvaranje skripte ljuske u GNU / Linuxu".

Shell skriptiranje

Dalje, mali rezime najvažnije sreće prethodni unos:

A) Idealan Shebang to treba napisati na sljedeći način:

#! / usr / bin / env bash.

Napomena: Zamjena riječi bash ljuskom po vašem izboru.

B) Da bi se postigao odličan STRICT ili SIGURAN BASH MOD (Bash Strict Mode / BSM) nudimo sljedeće alternative:

B.1) Konfiguracija odjeljka za otklanjanje pogrešaka:

  1. set -o errexit
  2. set -o imenica
  3. set -o pipefail
  4. # set -o xtrace

Međutim, u ovom novom unosu predlažemo kako bi se redovi koda sveli na minimum sljedeće BASH STRICT ili SIGURAN NAČIN (Bash Strict Mode / BSM):

set -eou pipefail

Sa ovim BSM postižemo potpuno isto kao i u prethodna 3 retka.

Moja lična preporuka je: Jednom kada je vaš Shell Script izgrađen, dodajte BSM linije (linije) da biste započeli ispravljanje i usavršavanje vašeg Script-a i učinili ga visoko funkcionalnim. Kad želite, dodajte rečeno BSM opciju (-x) da postignete isti efekt kao kada omogućite liniju: set -o xtrace, u gornjoj metodi, odnosno vašoj liniji BSM to bi trebalo izgledati ovako:

set -eoux pipefail

B.2) Konfiguracija izlaznog odjeljka konfiguriranih varijabli:

IFS=$'\n\t'

Dodavanjem ovog retka nastavljamo s ponovnim podešavanjem varijable Interni separator polja i postići bolju vizualizaciju i / ili hvatanje riječi (polja) niza znakova. Omogućiti to ili ne, prema vašim zahtjevima i potrebama.

Uz ove tipične postavke:


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

Izlazi varijabli dobili bi se na sljedeći način:


a
b
c
a b c

Sa zadanim i preporučenim postavkama:


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

Izlazi varijabli dobili bi se na sljedeći način:


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) Odjeljak konfiguracije zadane konfiguracije izvršnog terminala:

setterm --reset

Dodavanjem ovog retka nastavljamo s potpuno resetiranjem cijele sesije i parametara izvršenja terminala u kojem se koristi Shell script izvršeno. Omogućiti to ili ne, prema vašim zahtjevima i potrebama.

Uz ovo ćemo imati BSM vrlo korisno i efikasno imati odličan Shell script.

Na kraju ćemo istražiti šta bi taj Shell Script trebao imati u nastavku:

  • Informativni odjeljak o Stvoritelju i Programu:

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

  • Informativni odjeljak o licenciranju programa:

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

Nadam se da će s ovim drugim dijelom "Najbolje prakse za stvaranje skripte ljuske u GNU / Linuxu" dovoljno je da se mogu temeljito usredotočiti na svaki njegov mali aspekt i razlog mnogih stvari prilikom stvaranja a Shell scriptto jest, nadam se da će vam neki od ovih savjeta pomoći u poboljšanju Shell script, ali ne toliko zbog sebe, već zbog njih Korisnici o SysAdmin morate upravljati njima. Tako da ne morate prolaziti kroz dosadan i težak zadatak de saznajte što su kodirali, kako i zašto i zašto to više ne funkcionira.

Do sljedećih postova na Shell Scriptingu!


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.