Geriausia „Shell“ scenarijaus kūrimo praktika naudojant GNU / Linux - 2 dalis

Pirmiausia, prieš skaitant šį leidinį, rekomenduoju perskaityti I dalis minėto leidinio, vadinamo «Geriausia „Shell“ scenarijaus kūrimo praktika naudojant GNU / Linux"

"Shell scenarijus

Kitas, mažas santrauka svarbiausių laimės ankstesnis įrašas:

A) Idealus Šebangas tai turėtų būti parašyta taip:

#! / usr / bin / env bash.

dėmesį: Žodžio pakeitimas bash pagal jūsų pasirinktą apvalkalą.

B) Norint pasiekti puikų Griežtas arba SAUGUS BASH REŽIMAS („Bash Strict Mode“ / BSM) siūlome šias alternatyvas:

B.1) Derinimo skyriaus konfigūracija:

  1. nustatyti -o errexit
  2. rinkinys -o daiktavardis
  3. set -o pipefail
  4. # set -o xtrace

Tačiau šiame naujame įraše siūlome sumažinti kodo eilutes taip: BASH STRICT arba SAFE MODE (griežtas „Bash“ režimas / BSM):

set -eou pipefail

Su šiuo BSM mes pasiekiame lygiai tą patį kaip ir su ankstesnėmis 3 eilutėmis.

Mano asmeninė rekomendacija yra: Sukūrę „Shell Script“, pridėkite BSM eilutes (-es), kad pradėtumėte derinti ir tobulinti scenarijų bei padaryti jį labai funkcionalų. Kai norite, pridėkite sakytą BSM galimybė (-x) norėdami pasiekti tą patį efektą, kaip įjungę eilutę: nustatyti -o xtrace, aukščiau nurodytu metodu, tai yra jūsų linija BSM jis turėtų atrodyti taip:

set -eoux pipefail

B.2) Konfigūruotų kintamųjų išvesties sekcijos konfigūravimas:

IFS=$'\n\t'

Pridėjus šią eilutę, mes perkonfigūruosime kintamąjį Vidinis lauko separatorius ir pasiekti geresnę simbolių eilutės žodžių (laukų) vizualizaciją ir (arba) užfiksavimą. Įjunkite ar ne, pagal jūsų poreikius ir poreikius.

Naudodami šiuos įprastus nustatymus:


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

Kintamųjų rezultatai būtų gauti tokiu būdu:


a
b
c
a b c

Su numatytaisiais ir rekomenduojamaisiais nustatymais:


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

Kintamųjų rezultatai būtų gauti tokiu būdu:


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) Numatytosios vykdymo terminalo konfigūracijos skyrius:

setterm --reset

Pridėdami šią eilutę, mes visiškai iš naujo nustatysime visą seansą ir terminalo, kuriame naudojamas, vykdymo parametrus „Shell“ scenarijus įvykdytas. Įjunkite ar ne, pagal jūsų poreikius ir poreikius.

Su tuo turėsime BSM labai naudinga ir efektyvu turėti puikų „Shell“ scenarijus.

Galiausiai mes ištirsime, ką šis „Shell“ scenarijus turėtų turėti žemiau:

  • Informacinis skyrius apie Kūrėją ir 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:
###########################################################

  • Informacinis skyrius apie programos licencijavimą:

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

Tikiuosi, kad su šia antrąja „Geriausia„ Shell “scenarijaus kūrimo praktika naudojant GNU / Linux“ pakanka, kad jie galėtų kruopščiai sutelkti dėmesį į kiekvieną jo mažą aspektą ir daugelio dalykų priežastis kurdami „Shell“ scenarijustai yra, aš tikiuosi, kad kai kurie iš šių patarimų jums padės tobulėti „Shell“ scenarijus, bet ne tiek sau, kiek tiems Vartotojai o „SysAdmin“ jūs turite juos valdyti. Kad nereikėtų patirti a varginanti ir sunki užduotis de sužinokite, ką jie užkodavo, kaip ir kodėl ir kodėl tai nebeveikia.

Iki kitų „Shell Scripting“ įrašų!


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.