గ్నూ / లైనక్స్ - పార్ట్ 2 లో షెల్ స్క్రిప్ట్‌ను రూపొందించడానికి ఉత్తమ పద్ధతులు

అన్నింటిలో మొదటిది, ఈ ప్రచురణను చదవడానికి ముందు, మీరు చదవమని నేను సిఫార్సు చేస్తున్నాను భాగం I. యొక్క ప్రచురణ, అని «గ్నూ / లైనక్స్‌లో షెల్ స్క్రిప్ట్‌ను రూపొందించడానికి ఉత్తమ పద్ధతులు".

షెల్ స్క్రిప్టింగ్తరువాత, ఒక చిన్న resumen ఆనందం యొక్క అతి ముఖ్యమైనది మునుపటి ఎంట్రీ:

ఎ) ఆదర్శవంతమైన షెబాంగ్ ఇది ఈ క్రింది విధంగా వ్రాయబడాలి:

#! / usr / bin / env bash.

గమనిక: పదం స్థానంలో బాష్ మీకు నచ్చిన షెల్ ద్వారా.

B) అద్భుతమైన సాధించడానికి స్ట్రిక్ట్ లేదా సేఫ్ బాష్ మోడ్ (బాష్ స్ట్రిక్ట్ మోడ్ / బిఎస్ఎమ్) మేము ఈ క్రింది ప్రత్యామ్నాయాలను అందిస్తున్నాము:

B.1) డీబగ్గింగ్ విభాగం యొక్క ఆకృతీకరణ:

  1. సెట్ -ఓ ఎర్రెక్సిట్
  2. సెట్ -o నామవాచకం
  3. -o పైప్‌ఫైల్ సెట్ చేయండి
  4. # సెట్ -o xtrace

అయితే, ఈ క్రొత్త ఎంట్రీలో ఈ క్రింది కోడ్ రేఖలను తగ్గించడానికి మేము సూచిస్తున్నాము బాష్ స్ట్రిక్ట్ లేదా సేఫ్ మోడ్ (బాష్ స్ట్రిక్ట్ మోడ్ / బిఎస్ఎమ్):

set -eou pipefail

దీనితో BSM మేము మునుపటి 3 పంక్తుల మాదిరిగానే సాధిస్తాము.

నా వ్యక్తిగత సిఫార్సు: మీ షెల్ స్క్రిప్ట్ నిర్మించిన తర్వాత, మీ స్క్రిప్ట్‌ను డీబగ్గింగ్ చేయడం మరియు పరిపూర్ణం చేయడం మరియు అధికంగా పనిచేసేలా చేయడానికి BSM లైన్ (ల) ను జోడించండి. మీకు కావలసినప్పుడు, జోడించండి అన్నారు BSM ఎంపిక (-x) మీరు పంక్తిని ప్రారంభించినప్పుడు అదే ప్రభావాన్ని సాధించడానికి: సెట్ -o xtrace, పై పద్ధతిలో, అంటే, మీ లైన్ BSM ఇది ఇలా ఉండాలి:

set -eoux pipefail

B.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

B.3) అమలు టెర్మినల్ యొక్క డిఫాల్ట్ కాన్ఫిగరేషన్ యొక్క కాన్ఫిగరేషన్ విభాగం:

setterm --reset

ఈ పంక్తిని జోడించడం ద్వారా మేము మొత్తం సెషన్‌ను మరియు టెర్మినల్ యొక్క అమలు పారామితులను పూర్తిగా రీసెట్ చేయడానికి ముందుకు వెళ్తాము షెల్ స్క్రిప్ట్ అమలు చేయబడింది. మీ అవసరాలు మరియు అవసరాలకు అనుగుణంగా దీన్ని ప్రారంభించండి లేదా కాదు.

దీనితో మనకు a ఉంటుంది BSM అద్భుతమైన కలిగి చాలా ఉపయోగకరమైన మరియు సమర్థవంతమైన షెల్ స్క్రిప్ట్.

చివరగా, ఆ షెల్ స్క్రిప్ట్ క్రింద ఏమి ఉండాలో మేము అన్వేషిస్తాము:

  • సృష్టికర్త మరియు ప్రోగ్రామ్ గురించి సమాచార విభాగం:

###########################################################
# 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 సిస్అడ్మిన్ మీరు వాటిని నిర్వహించాలి. కాబట్టి మీరు a ద్వారా వెళ్ళవలసిన అవసరం లేదు దుర్భరమైన మరియు కష్టమైన పని de వారు ఏమి కోడ్ చేసారో, ఎలా మరియు ఎందుకు, మరియు అది ఇకపై ఎందుకు పనిచేస్తుందో తెలుసుకోండి.

షెల్ స్క్రిప్టింగ్‌లో తదుపరి పోస్ట్‌ల వరకు!


వ్యాసం యొక్క కంటెంట్ మా సూత్రాలకు కట్టుబడి ఉంటుంది సంపాదకీయ నీతి. లోపం నివేదించడానికి క్లిక్ చేయండి ఇక్కడ.

వ్యాఖ్యానించిన మొదటి వ్యక్తి అవ్వండి

మీ వ్యాఖ్యను ఇవ్వండి

మీ ఇమెయిల్ చిరునామా ప్రచురితమైన కాదు. లు గుర్తించబడతాయి గుర్తించబడతాయి *

*

*

  1. డేటాకు బాధ్యత: మిగ్యుల్ ఏంజెల్ గాటన్
  2. డేటా యొక్క ఉద్దేశ్యం: కంట్రోల్ స్పామ్, వ్యాఖ్య నిర్వహణ.
  3. చట్టబద్ధత: మీ సమ్మతి
  4. డేటా యొక్క కమ్యూనికేషన్: డేటా చట్టపరమైన బాధ్యత ద్వారా తప్ప మూడవ పార్టీలకు తెలియజేయబడదు.
  5. డేటా నిల్వ: ఆక్సెంటస్ నెట్‌వర్క్స్ (EU) హోస్ట్ చేసిన డేటాబేస్
  6. హక్కులు: ఎప్పుడైనా మీరు మీ సమాచారాన్ని పరిమితం చేయవచ్చు, తిరిగి పొందవచ్చు మరియు తొలగించవచ్చు.