GNU / Linux'ta bir Kabuk Komut Dosyası oluşturmak için en iyi uygulamalar - Bölüm 2

Öncelikle bu yayını okumadan önce, okumanızı tavsiye ederim. bölüm I adı geçen yayının adı «GNU / Linux'ta bir Kabuk Komut Dosyası oluşturmak için en iyi uygulamalar".

Kabuk Betiği

Sonra küçük resumen mutluluğun en önemlisi önceki giriş:

A) İdeal Shebang aşağıdaki gibi yazılmalıdır:

#! / usr / bin / env bash.

Not: Kelimeyi değiştirmek darbe seçtiğiniz kabuk tarafından.

B) Mükemmel bir STRICT veya SAFE BASH MODE (Bash Strict Mode / BSM) aşağıdaki alternatifleri sunuyoruz:

B.1) Hata Ayıklama Bölümünün Yapılandırılması:

  1. set -o hata
  2. set -o isim
  3. set -o boru hatası
  4. # set -o xtrace

Bununla birlikte, bu yeni girişte aşağıdaki kod satırlarını en aza indirmek için öneriyoruz. BASH STRICT veya GÜVENLİ MOD (Darbe Katı Modu / BSM):

set -eou pipefail

Bu grubu BSM önceki 3 çizgiyle tamamen aynı şeyi başarıyoruz.

Kişisel tavsiyem: Kabuk Komut Dosyanız oluşturulduktan sonra, Komut Dosyanızın hatalarını ayıklamaya ve mükemmelleştirmeye ve onu son derece işlevsel hale getirmeye başlamak için BSM satırlarını ekleyin. İstediğin zaman ekle dedi BSM seçenek (-X) satırı etkinleştirdiğinizde olduğu gibi aynı etkiyi elde etmek için: -o xtrace ayarlayukarıdaki yöntemde, yani sizin satırınız BSM şöyle görünmeli:

set -eoux pipefail

B.2) Yapılandırılan Değişkenlerin Çıkış Bölümünün Yapılandırması:

IFS=$'\n\t'

Bu satırı ekleyerek değişkeni yeniden yapılandırmaya devam ediyoruz Dahili Alan Ayırıcı ve bir karakter dizisinin kelimelerinin (alanlarının) daha iyi görselleştirilmesi ve / veya yakalanması. Gereksinimlerinize ve ihtiyaçlarınıza göre etkinleştirin ya da etkinleştirmeyin.

Bu tipik ayarlarla:


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

Değişkenlerin çıktıları şu şekilde elde edilecektir:


a
b
c
a b c

Varsayılan ve önerilen ayarlarla:


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

Değişkenlerin çıktıları şu şekilde elde edilecektir:


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) Yürütme terminalinin varsayılan yapılandırmasının Yapılandırma Bölümü:

setterm --reset

Bu satırı ekleyerek, tüm oturumu ve kullanımın yapıldığı terminalin yürütme parametrelerini tamamen sıfırlamaya devam ediyoruz. Kabuk betiği idam edildi. Gereksinimlerinize ve ihtiyaçlarınıza göre etkinleştirin ya da etkinleştirmeyin.

Bununla bir BSM mükemmel olması için çok kullanışlı ve verimli Kabuk betiği.

Son olarak, bu Shell Script'in neye sahip olması gerektiğini aşağıda inceleyeceğiz:

  • Oluşturan ve Program hakkında bilgilendirici bir bölüm:

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

  • Programın Lisanslanması hakkında bilgilendirici bir bölüm:

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

Umarım bu ikinci bölümüyle "GNU / Linux'ta bir Kabuk Komut Dosyası oluşturmak için en iyi uygulamalar" her küçük yönüne iyice odaklanabilmeleri için ve birçok şeyin nedenini oluştururken Kabuk betiğiyani, bu ipuçlarından bazılarının daha iyi hale gelme konusunda size yardımcı olacağını umuyorum Kabuk betiğiama kendin için çok değil, onlar için Kullanıcılar o Sistem Yöneticisi onları yönetmek zorundasın. Böylece bir sıkıcı ve zor görev de neyi, nasıl ve neden kodladıklarını ve neden artık çalışmadığını öğrenin.

Shell Scripting ile ilgili sonraki yayınlara kadar!


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.