Antes de tudo, antes de ler esta publicação, recomendo que você leia o parte I da referida publicação, chamada «Melhores práticas para criar um Shell Script em GNU / Linux".
Em seguida, um pequeno abstrato do mais importante da felicidade postagem anterior:
A) O Shebang ideal deve ser escrito da seguinte forma:
#! / usr / bin / env bash.
Nota: Substituindo a palavra bater pela concha de sua escolha.
B) Para alcançar um excelente MODO STRICT ou SAFE BASH (Bash Strict Mode / BSM), oferecemos as seguintes alternativas:
B.1) Configuração da Seção de Depuração:
- set -o errexit
- set -o substantivo
- set -o pipefail
- #set -o xtrace
No entanto, nesta nova entrada, sugerimos, a fim de minimizar as linhas de código, o seguinte BASH STRICT ou SAFE MODE (Bash Strict Mode / BSM):
set -eou pipefail
Com esta BSM alcançamos exatamente o mesmo que com as 3 linhas anteriores.
Minha recomendação pessoal é: Uma vez que o Shell Script é construído, adicione a (s) linha (s) BSM para começar a depurar e aperfeiçoar seu Script e torná-lo altamente funcional. Quando quiser, adicione disse BSM a opção (-x) para obter o mesmo efeito de quando você ativa a linha: definir -o xtrace, no método acima, ou seja, sua linha de BSM deve ser assim:
set -eoux pipefail
B.2) Configuração da Seção de Saída das Variáveis configuradas:
IFS=$'\n\t'
Adicionando esta linha, procedemos para reconfigurar a variável Separador de campo interno e obter uma melhor visualização e / ou captura das palavras (campos) de uma sequência de caracteres. Habilite ou não, de acordo com suas necessidades e necessidades.
Com essas configurações típicas:
#!/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
As saídas das variáveis seriam obtidas da seguinte forma:
a
b
c
a b c
Com as configurações padrão e recomendadas:
#!/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
As saídas das variáveis seriam obtidas da seguinte forma:
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) Seção de configuração da configuração padrão do terminal de execução:
setterm --reset
Adicionando esta linha, procedemos para reiniciar completamente toda a sessão e os parâmetros de execução do terminal onde o Script shell executado. Habilite ou não, de acordo com suas necessidades e necessidades.
Com isso teremos um BSM muito útil e eficiente para ter um excelente Script shell.
Finalmente, exploraremos o que esse Shell Script deve ter a seguir:
- Uma seção informativa sobre o Criador e o Programa:
###########################################################
# 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:
###########################################################
- Uma seção informativa sobre o Licenciamento do Programa:
########################################################### # 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 ############################################################
Espero que com esta segunda parte do "Melhores práticas para criar um Shell Script em GNU / Linux" é o suficiente para que eles sejam capazes de se concentrar completamente em cada pequeno aspecto dele e na razão de muitas coisas ao criar um Script shellisto é, espero que algumas dessas dicas ajudem você a melhorar Script shell, mas não tanto para você, mas para aqueles Usuários o Sysadmin você tem que gerenciá-los. Para que você não tenha que passar por um tarefa tediosa e difícil de descubra o que eles codificaram, como e por quê e por que não funciona mais.
Até os próximos posts sobre Shell Scripting!