Најбоље праксе за стварање скрипте љуске у ГНУ / Линук - 2. део

Пре свега, пре читања ове публикације, препоручујем вам да прочитате део И поменуте публикације, названо «Најбоље праксе за креирање Схелл скрипте у ГНУ / Линук".

Схелл Сцриптинг

Даље, мали резиме најважније среће претходни унос:

А) Идеалан Схебанг то треба написати на следећи начин:

#! / уср / бин / енв басх.

Напомена: Замена речи треснути љуском по вашем избору.

B) Да би се постигао одличан СТРИЦТ или СИГУРАН БАСХ МОД (Басх Стрицт Моде / БСМ) нудимо следеће алтернативе:

Б.1) Конфигурација одељка за отклањање грешака:

  1. сет -о еррекит
  2. сет -о именица
  3. сет -о пипефаил
  4. # сет -о ктраце

Међутим, у овом новом уносу предлажемо да би се редови кода свели на минимум следеће БАСХ СТРИЦТ или СИГУРАН РЕЖИМ (Басх Стрицт Моде / БСМ):

set -eou pipefail

Са овим БСМ постижемо потпуно исто као и у претходна 3 реда.

Моја лична препорука је: Једном када је ваш Схелл Сцрипт изграђен, додајте БСМ линије (линије) да бисте започели отклањање грешака и усавршавање вашег Сцрипт-а и учинили га изузетно функционалним. Када желите, додајте речено БСМ опцију (-Икс) да бисте постигли исти ефекат као када омогућите линију: сет -о ктраце, у горњој методи, односно вашој линији БСМ требало би да изгледа овако:

set -eoux pipefail

Б.2) Конфигурација излазног одељка конфигурисаних променљивих:

IFS=$'\n\t'

Додавањем ове линије настављамо са поновним подешавањем променљиве Интерни сепаратор поља и постићи бољу визуелизацију и / или хватање речи (поља) низа знакова. Омогућити то или не, према вашим захтевима и потребама.

Са овим типичним подешавањима:


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

Излази променљивих добијали би се на следећи начин:


a
b
c
a b c

Са подразумеваним и препорученим подешавањима:


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

Излази променљивих добијали би се на следећи начин:


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

Б.3) Одељак за конфигурацију задане конфигурације извршног терминала:

setterm --reset

Додавањем ове линије настављамо да у потпуности ресетујемо целу сесију и параметре извршавања терминала у коме се користи Схелл сцрипт погубљен. Омогућити то или не, према вашим захтевима и потребама.

Са овим ћемо имати БСМ врло корисно и ефикасно имати одличног Схелл сцрипт.

На крају ћемо истражити шта би тај Схелл Сцрипт требао имати у наставку:

  • Информативни одељак о Креатору и Програму:

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

  • Информативни одељак о лиценцирању програма:

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

Надам се да ће са овим другим делом „Најбоље праксе за креирање Схелл скрипте у ГНУ / Линук“ довољно је да могу да се темељно усредсреде на сваки његов мали аспект и разлог многих ствари приликом стварања Схелл сцрипт, то јест надам се да ће вам неки од ових савета помоћи у побољшању Схелл сцрипт, али не толико због себе, већ због оних Корисници o СисАдмин морате њима управљати. Тако да не морате да пролазите кроз досадан и тежак задатак de сазнајте шта су кодирали, како и зашто и зашто то више не функционише.

До следећих неколико постова о Схелл скриптирању!


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.