Bästa metoder för att skapa ett Shell-skript i GNU / Linux - Del 2

Innan jag läser denna publikation rekommenderar jag att du läser del I av nämnda publikation, kallad «Bästa metoder för att skapa ett Shell-skript i GNU / Linux".

Shell-skript

Nästa, en liten sammanfattning av det viktigaste av lycka föregående post:

A) Den idealiska Shebang den ska skrivas enligt följande:

#! / usr / bin / env bash.

Obs: Byta ut ordet bash av skalet av ditt val.

B) Att uppnå ett utmärkt STRICT eller SAFE BASH MODE (Bash Strict Mode / BSM) erbjuder vi följande alternativ:

B.1) Konfiguration av felsökningssektionen:

  1. set -o errexit
  2. set -o substantivuppsättning
  3. set -o pipefail
  4. # set -o xtrace

I det här nya inlägget föreslår vi emellertid följande för att minimera kodraderna BASH STRICT eller SAFE MODE (Bash Strict Mode / BSM):

set -eou pipefail

Med detta BSM vi uppnår exakt samma som med de tidigare 3 raderna.

Min personliga rekommendation är: När ditt Shell Script är byggt, lägg till BSM-raderna för att börja felsöka och göra ditt script perfekt och göra det mycket funktionellt. När du vill, lägg till sagt BSM alternativet (-x) för att uppnå samma effekt som när du aktiverar linjen: set-o xtrace, i ovanstående metod, det vill säga din linje av BSM det ska se ut så här:

set -eoux pipefail

B.2) Konfiguration av utgångssektionen för de konfigurerade variablerna:

IFS=$'\n\t'

Genom att lägga till denna rad fortsätter vi med att konfigurera om variabeln Intern fältseparator och uppnå en bättre visning och / eller fånga ord (fält) i en teckensträng. Aktivera det eller inte, enligt dina krav och behov.

Med dessa typiska inställningar:


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

Utdata för variablerna skulle erhållas på följande sätt:


a
b
c
a b c

Med standardinställningarna och de rekommenderade inställningarna:


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

Utdata för variablerna skulle erhållas på följande sätt:


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) Konfigurationsavsnitt för standardkonfigurationen för exekveringsterminalen:

setterm --reset

Genom att lägga till denna rad fortsätter vi med att helt återställa hela sessionen och körparametrarna för terminalen där användningen av Skalskript avrättade. Aktivera det eller inte, enligt dina krav och behov.

Med detta kommer vi att ha en BSM mycket användbart och effektivt för att ha ett utmärkt Skalskript.

Slutligen kommer vi att undersöka vad Shell-skriptet ska ha nedan:

  • Ett informativt avsnitt om skaparen och programmet:

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

  • Ett informativt avsnitt om licensiering av programmet:

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

Jag hoppas att med denna andra del av "Bästa metoder för att skapa ett Shell-skript i GNU / Linux" är tillräckligt för att de ska kunna fokusera grundligt på varje liten aspekt av det och anledningen till många saker när man skapar en Skalskriptdet vill säga jag hoppas att några av dessa tips hjälper dig när det gäller att bli bättre Skalskript, men inte så mycket för dig själv utan för dem Användare o SysAdmin du måste hantera dem. Så att du inte behöver gå igenom en tråkig och svår uppgift de ta reda på vad de kodade, hur och varför och varför det inte längre fungerar.

Fram till nästa inlägg på Shell Scripting!


Bli först att kommentera

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.