بهترين طريقا GNU / Linux ۾ شيل اسڪرپٽ ٺاھڻ لاءِ بهترين حصو - حصو 2

سڀ کان پهرين ، هن اشاعت کي پڙهڻ کان پهريان ، آئون توهان کي پڙهڻ جي صلاح ڏيان ٿو حصو آئون چيو نالي جي اشاعت «GNU / Linux ۾ شيل اسڪرپٽ ٺاھڻ لاءِ بھترين طريقا".

شوبل اسڪرپٽاڳتي ، هڪ نن smallڙو resumen خوشيءَ جي سڀني کان وڌيڪ پويون داخلا:

اي) مثالي شيبانگ اهو هيٺيان لکڻ گهرجي.

#! / يو ايس / بن / اين وي بيش.

نوٽ: لفظ بدلائڻ ڪشادو توهان جي پسند جي شيل کان.

B) هڪ بهترين حاصل ڪرڻ سخت يا محفوظ صاف موڊ (Bash سخت موڊ / BSM) اسان هيٺيان متبادل پيش ڪندا آهيون.

B.1) ڊيبگنگ سيڪشن جي ترتيب:

  1. سيٽ ڪريو-اي ايريڪسٽ
  2. سيٽ-نو نالي وارو
  3. سيٽ ڪريو پائپ لائن
  4. # سيٽ -و xtrace

جيتوڻيڪ ، انهي نئين داخلا ۾ اسان هيٺ ڏنل ڪوڊ جي لائينن کي گھٽ ڪرڻ جي صلاح ڏيو ٿا صاف يا محفوظ موڊ (Bash سخت موڊ / بي ايس ايم):

set -eou pipefail

هن سان گڏ BSM اسان پوئين 3 لائينن سان ساڳي نموني حاصل ڪريون ٿا.

منھنجو ذاتي مشورو آھي: هڪ دفعو توهان جي شيل اسڪرپٽ ٺهيل آهي ، توهان جي اسڪرپٽ کي ڊيبگ ۽ مڪمل ڪرڻ شروع ڪرڻ لاءِ ، بي ايس ايم لائن (لائنز) کي شامل ڪريو ۽ ان کي انتهائي ڪارائتو بڻايو وڃي. جڏهن توهان چاهيو ٿا ، شامل چيو BSM اختيار (-ڪس) ساڳئي اثر حاصل ڪرڻ لاءِ جئين توھان لڪير کي فعال ڪريو: سيٽ ڪريو -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

انهي لائن کي شامل ڪندي اسان اڳتي وڌڻ لاءِ پوري سيشن کي ٻيهر سيٽ ڪرڻ ۽ ٽرمينل جي عمل پيراگرافن ۾ جتي استعمال ڪيو ويو آهي شيل اسڪرپٽ مارجي ويو. انهي کي فعال ڪريو يا نه ، توهان جي گهرجن ۽ ضرورتن جي مطابق.

ان سان اسان کي هوندي 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
############################################################

مان اميد ڪريان ٿو ته انهي ٻئي حصي سان "GNU / Linux ۾ شيل اسڪرپٽ ٺاھڻ لاءِ بھترين طريقا" انهن لاءِ اهو ڪافي آهي ته هو انهي جي هر نن aspectڙي حصي تي چ toي طرح ڌيان ڏئي سگھندا ۽ جڏهن ٺاهڻ جو سبب ڪيترن ئي شين جي سبب جو شيل اسڪرپٽاهو آهي ، مان اميد ڪريان ٿو ته ڪجهه صلاحون توهان جي مدد ڪنديون جڏهن انهي کي بهتر بڻائڻ واريون هونديون شيل اسڪرپٽ، پر پنهنجي لاءِ ايترو ڪجهه ناهي ، پر انهن لاءِ صارفين o سيزن ايڊمن توھان انھن کي منظم ڪرڻو پوندو. انهي جي ڪري ته توهان کي ڪنهن جي ذريعي وڃڻ نه گهرجي ڏکيو ۽ ڏکيو ڪم آهي de اهو ڳولهيو ته انهن ڇا ڪوڊ ڪيو ، ڪيئن ۽ ڇو ، ۽ اهو هاڻي ڇو ڪم نٿو ڪري.

شيل اسڪرپٽ تي ايندڙ پوسٽن تائين!


مضمون جو مواد اسان جي اصولن تي عمل ڪري ٿو ايڊيٽوريل اخلاقيات. غلطي ڪلڪ ڪرڻ جي رپورٽ لاءِ هتي.

تبصرو ڪرڻ جو پهريون

پنهنجي راءِ ڏيو

پنهنجي اي ميل ايڊريس شايع نه ڪيو ويندو. گهري شعبن سان لڳل آهن *

*

*

  1. ڊيٽا جو ذميوار: Miguel Ángel Gatón
  2. ڊيٽا جو مقصد: ڪنٽرول سپيم ، تبصرو جي انتظام.
  3. سازش: توهان جي رضامندي
  4. ڊيٽا جي ابلاغ: ڊيٽا کي قانوني ذميواري کانسواءِ ٽئين پارٽين تائين رسائي نه ڏني ويندي.
  5. ڊيٽا اسٽوريج: ڊيٽابيس اويسينٽس نيٽورڪ (اي يو) پاران ميزباني ڪيل
  6. حق: ڪنهن به وقت توهان پنهنجي معلومات کي محدود ، ٻيهر ۽ ختم ڪري سگهو ٿا.