Parimad tavad Shelli skripti loomiseks GNU / Linuxis - 2. osa

Esiteks, enne selle väljaande lugemist soovitan teil lugeda järgmist I osa nimetatud väljaande nimega «Parimad tavad Shelli skripti loomiseks GNU / Linuxis"

Shelli skriptimine

Järgmisena väike kokkuvõte kõige olulisem õnne eelmine kirje:

A) Ideaalne Shebang see tuleks kirjutada järgmiselt:

#! / usr / bin / env bash.

Märkus: Sõna asendamine sisse lööma valitud koore järgi.

B) Suurepärase saavutamiseks RANGE või OHUTU PESUMISE REŽIIM (Bash Strict Mode / BSM) pakume järgmisi võimalusi

B.1) Silumissektsiooni seadistamine:

  1. sead -o errexit
  2. set -o nimisõna
  3. seada -o torustik
  4. # set -o xtrace

Selles uues kirjes soovitame koodiridade minimeerimiseks järgmist BASH STRICT või SAFE MODE (Bash Strict Mode / BSM):

set -eou pipefail

Selle BSM saavutame täpselt sama, mis eelmise 3 reaga.

Minu isiklik soovitus on: Kui teie Shelli skript on üles ehitatud, lisage BSM-rida (d), et alustada skripti silumist ja täiustamist ning selle funktsionaalsust. Kui soovite, lisage öeldud BSM valik (-x) sama efekti saavutamiseks kui liini lubamisel: sea ​​-o xtrace, ülaltoodud meetodil, see tähendab teie rida BSM see peaks välja nägema selline:

set -eoux pipefail

B.2) Konfigureeritud muutujate väljundosa konfiguratsioon:

IFS=$'\n\t'

Selle rea lisamisel jätkame muutuja ümberkonfigureerimist Sisemine välja eraldaja ja saavutada märgistringi sõnade (väljade) parem kuvamine ja / või hõivamine. Lubage see või mitte, vastavalt teie vajadustele ja vajadustele.

Nende tüüpiliste seadetega:


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

Muutujate väljundid saadakse järgmisel viisil:


a
b
c
a b c

Vaikimisi ja soovitatud sätetega:


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

Muutujate väljundid saadakse järgmisel viisil:


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) Täitmisterminali vaikekonfiguratsiooni sektsioon Configuration:

setterm --reset

Selle rea lisamisel lähtestame kogu seansi ja terminali täitmisparameetrid, kus kasutatakse Shelli skript hukati. Lubage see või mitte, vastavalt teie vajadustele ja vajadustele.

Sellega saame BSM väga kasulik ja tõhus, et oleks suurepärane Shelli skript.

Lõpuks uurime, mis sellel Shelli skriptil peaks olema:

  • Informatiivne osa looja ja programmi kohta:

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

  • Informatiivne jaotis programmi litsentsimise kohta:

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

Loodan, et selle teise osaga "Shelli skripti loomise parimad tavad GNU / Linuxis" on piisav, et nad saaksid a loomisel põhjalikult keskenduda selle igale väiksemale aspektile ja paljude asjade põhjustele Shelli skriptsee tähendab, et ma loodan, et mõned neist nõuannetest aitavad teil paremaks muuta Shelli skript, kuid mitte niivõrd iseendale, vaid neile Kasutajad o SysAdmin peate neid haldama. Et te ei peaks läbima a tüütu ja keeruline ülesanne de saate teada, mida nad kodeerisid, kuidas ja miks ning miks see enam ei toimi.

Järgmiste Shell Scriptingu postituste juurde!


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.