Eyona ndlela ilungileyo yokwenza iShell yeSkripthi kwi-GNU / Linux-Icandelo 2

Okokuqala, ngaphambi kokufunda le ncwadi, ndincoma ukuba ufunde ifayile ye- Inxalenye I Yoshicilelo olo, lubiziweyo «Eyona ndlela ilungileyo yokwenza iShell yeSkripthi kwi-GNU / Linux«.

Ukushicilela kweShell

Okulandelayo, encinci isishwankathelo lolona lubalulekileyo lonwabo ungeno lwangaphambili:

A) I-Shebang efanelekileyo kufuneka ibhalwe ngolu hlobo lulandelayo:

#! / usr / bin / env bash.

Qaphela: Ukutshintsha igama ukutshatyalaliswa ngeqokobhe olikhethileyo.

B) Ukufikelela ngokugqwesileyo I-STRICT okanye i-BASH MODE ekhuselekileyo (Imo yeBhash engqongqo / i-BSM) sinikezela ngezi ndlela zilandelayo:

B.1) Ukuqwalaselwa kweCandelo lokuLungisa iMicimbi:

  1. setha -o errexit
  2. setha -o isibizo
  3. setha -o pipefail
  4. # setha -o xtrace

Nangona kunjalo, kolu ngeno lutsha sicebisa ukunciphisa imigca yekhowudi elandelayo UBHASI WOKUGQIBELA okanye IMODE Ekhuselekileyo (Imo yeBhash engqongqo / BSM):

set -eou pipefail

Ngale nto BSM sifezekisa ngokuchanekileyo ngokufanayo ngemigca emi-3 yangaphambili.

Ingcebiso yam kukuba: Nje ukuba iShell script yakho yakhiwe, yongeza umgca we-BSM (ukuqala) ukulungisa ingxaki kunye nokufezekisa iScript sakho nokwenza ukuba isebenze kakuhle. Xa ufuna, yongeza uthe BSM ukhetho (-x) ukufikelela kwisiphumo esifanayo naxa unika amandla umgca: setha -o xtrace, Kule ndlela ingentla, oko kukuthi, umgca wakho BSM kufanele kujongeka ngoluhlobo:

set -eoux pipefail

B.2) Ukuqwalaselwa kweCandelo lokuPhuma kwezinto eziMiselweyo:

IFS=$'\n\t'

Ukongeza lo mgca siyaqhubeka ukuphinda siqwalasele umahluko Isahluli Sendawo Yangaphakathi kunye nokufezekisa ukubonwa okungcono kunye / okanye ukubanjwa kwamagama (imihlaba) yomtya womlinganiswa. Nika amandla okanye hayi, ngokweemfuno zakho kunye neemfuno.

Ngale seto yesiqhelo:


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

Iziphumo zokuguquguqukayo ziya kufumaneka ngale ndlela ilandelayo:


a
b
c
a b c

Ngokuseta okungagungqiyo kwaye kucetyiswa:


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

Iziphumo zokuguquguqukayo ziya kufumaneka ngale ndlela ilandelayo:


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) Icandelo loqwalaselo loqwalaselo olungagqibekanga lwesiphelo sendlela:

setterm --reset

Ngokongeza lo mgca siyaqhubeka ukuseta ngokupheleleyo iseshoni yonke kunye neeparameter zokuphunyezwa kwesiphelo apho kusetyenziswa i Iskripthi seShell kubulawa. Nika amandla okanye hayi, ngokweemfuno zakho kunye neemfuno.

Ngale nto siza kuba nefayile ye- BSM iluncedo kakhulu kwaye isebenza kakuhle ukuba ibalasele Iskripthi seShell.

Okokugqibela, siza kuvavanya ukuba iShell Script kufuneka ibe yintoni apha ngezantsi:

  • Icandelo elinolwazi malunga noMdali kunye neNkqubo:

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

  • Icandelo elinolwazi malunga nokuLayiseniswa kweNkqubo:

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

Ndiyathemba ukuba ngale nxalenye yesibini ye "Eyona ndlela isebenzayo yokwenza iShell script kwiGNU / Linux" Kwanele ukuba babe nakho ukugxila ngokupheleleyo kuyo yonke into encinci kunye nesizathu sezinto ezininzi xa kusenziwa ifayile Iskripthi seShellOko kukuthi, ndiyathemba ukuba ezinye zezi ngcebiso ziya kukunceda xa kuziwa ekwenzeni ngcono Iskripthi seShell, kodwa hayi kakhulu kuwe, kodwa kwabo Abasebenzisi o KwiSysAdmin kufuneka uziphathe. Ukuze ungadluli kwi uyadinisa kwaye unzima de fumana ukuba bathini ikhowudi, njani kwaye kutheni, kwaye kutheni ingasebenzi.

Kude kube zizithuba zilandelayo kwiShell Scripting!


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.