Imikhuba emihle yokwenza iShell Script ku-GNU / Linux - Ingxenye 2

Okokuqala, ngaphambi kokufunda le ncwadi, ngincoma ukuthi ufunde ifayili le- ingxenye i kokushicilelwa okushiwo, kubizwe «Imikhuba emihle yokwenza iShell Script ku-GNU / Linux".

Isikripthi se-Shell

Okulandelayo, okuncane resumen kwenjabulo ebaluleke kakhulu ukungena kwangaphambilini:

A) I-Shebang ekahle kufanele ibhalwe kanjena:

#! / usr / bin / env bash.

Nota: Esikhundleni segama bash ngegobolondo olithandayo.

B) Ukufeza okuhle kakhulu I-STRICT noma I-BASH MODE EPHEPHILE (iBash Strict Mode / BSM) sinikeza ezinye izindlela ezilandelayo:

B.1) Ukucushwa kwesigaba sokulungisa iphutha:

  1. setha -o errexit
  2. setha -o ibizo
  3. setha -o ipayipi
  4. # setha -o xtrace

Kodwa-ke, kulokhu kungena okusha siphakamisa ukunciphisa imigqa yekhodi elandelayo IBASH STRICT noma IMODE EPHEPHILE (iBash Strict Mode / BSM):

set -eou pipefail

Ngalokhu BSM sifeza ngokufana ncamashi nolayini abathathu abedlule.

Isincomo sami siqu: Lapho iShell script yakho seyakhiwe, engeza ulayini we-BSM ukuqala ukulungisa amaphutha nokwenza i-script sakho sisebenze kahle. Uma ufuna, engeza kusho BSM inketho (-x) ukufeza umphumela ofanayo nalapho unika amandla umugqa: setha -o xtrace, ngendlela engenhla, okungukuthi, umugqa wakho we BSM kufanele kubukeke kanjena:

set -eoux pipefail

B.2) Ukucushwa kwesigaba sokukhipha kokuguquguqukayo okulungiselelwe:

IFS=$'\n\t'

Ukungeza lo mugqa siqhubeka ukulungisa kabusha okuguqukayo Isihlukanisi Senkambu Yangaphakathi futhi uzuze ukubonwa okungcono kanye / noma ukuthunjwa kwamagama (izinkambu) wentambo yezinhlamvu. Nika amandla noma cha, ngokuya ngezidingo nezidingo zakho.

Ngalezi zilungiselelo ezijwayelekile:


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

Imiphumela yokuguquguqukayo izotholakala ngale ndlela elandelayo:


a
b
c
a b c

Ngezilungiselelo ezizenzakalelayo nezinconyiwe:


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

Imiphumela yokuguquguqukayo izotholakala ngale ndlela elandelayo:


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) Isigaba sokumiswa kokumiswa okuzenzakalelayo kwesiginali sokubulawa:

setterm --reset

Ngokwengeza lo mugqa siqhubeka ukusetha kabusha ngokuphelele lonke iseshini nemingcele yokwenza kwe-terminal lapho ukusetshenziswa kwefayela le- Isikripthi seShell wabulawa. Nika amandla noma cha, ngokuya ngezidingo nezidingo zakho.

Ngalokhu sizoba ne- BSM ilusizo kakhulu futhi lusebenze kahle kakhulu Isikripthi seShell.

Ekugcineni, sizohlola ukuthi leyo Shell Script kufanele ibe yini ngezansi:

  • Isigaba esifundisayo mayelana noMdali kanye noHlelo:

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

  • Isigaba esinolwazi ngokulayisenswa kohlelo:

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

Ngiyethemba ukuthi ngale ngxenye yesibili ye- "Izindlela ezinhle kakhulu zokwenza iShell Script ku-GNU / Linux" kwanele ukuthi bakwazi ukugxila ngokuphelele kuzo zonke izici ezincane zaso nesizathu sezinto eziningi lapho kwenziwa ifayili le- Isikripthi seShellokungukuthi, ngiyethemba ukuthi amanye ala macebiso azokusiza uma kuziwa ekwenzeni ngcono Isikripthi seShell, kodwa hhayi kakhulu kuwe, kepha kulabo Abasebenzisi o I-SysAdmin kufanele uziphathe. Ukuze ungadluli ku umsebenzi oyisidina futhi onzima de thola ukuthi babhala ini, kanjani nokuthi kungani, nokuthi kungani kungasasebenzi.

Kuze kube okuthunyelwe okulandelayo ku-Shell Scripting!


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.