Repasse de parâmetros de um script a outro

Publicado por Fernando Rego (última atualização em 12/05/2016)

[ Hits: 3.292 ]

Homepage: http://qei.com.br/fernando.rego

Download throwErr.sh




Andei sofrendo em encontrar informações de como passar parâmetros de um script a outro, uma vez que um dos parâmetros era uma sentença. Bash traduz as aspas e repassa uma frase como vários parâmetros. Encontrei a solução e apresento meu script de passagem de erro em um script "biblioteca" chamado por outro script "principal".

Para invocar, seja direto no shell, seja por outro script, a sintaxe segue abaixo:

./throwErr.sh "Mensagem de erro" 30

O código "30" é opcional, mas deve ser entre 11 e 99.

  



Esconder código-fonte

# !/bin/bash
# Returns time in rounded minutes or hours
# Accepts time in seconds + optional err number between 11 and 99
# Author: Fernando Rego <fernando.rego@qei.com.br>
# Last update: 2016-04-13

# Default values
errno=1

# Programs
echo=/bin/echo

# Expected language
LANGUAGE=en.UTF-8 # inputs from shell (netstat, ifconfig, ping, etc) are expected in this language and charset

PARAMS=()
main() {
   [ ${#PARAMS} -lt 1 ] && $echo -e "\n\t\e[01;31mSintax:\e[0m $0 \"Error message to be thrown in stderr\" [<errno 11-99>]\n" >&2 && exit 1

   $echo ${PARAMS[0]} >&2
   [ -n "${PARAMS[1]}" ] && [ ${PARAMS[1]} -gt 10 ] && [ ${PARAMS[1]} -lt 100 ] && errno=${PARAMS[1]}
   exit $errno
}

for PARAM in "$@"; do
   PARAMS+=("$PARAM")
done; main $PARAMS

Scripts recomendados

Pós-instalação do Ubuntu 18.04 LTS (codecs, ferramentas do sistema e dev.)

Front-end para backup em CDRW e DVDRW

"Mascarando" pseudo-senha digitada pelo usuário

Autenticação automática no Speedy Home

POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - FILTRO PARA CMAMAR O CLAMAV DIRETAMENTE DO POSTFIX


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts