Repasse de parâmetros de um script a outro

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

[ Hits: 3.439 ]

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

Download do Banco de dados NCBI NT (DNA)

Script para fazer funcionar o bloqueio por horário - Squid

Acompanhamento de log squid com hora real

Antivírus no Linux para usuários de domínio

Capturar movimentação no FTP


  

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