Pular para o conteúdo

Repasse de parâmetros de um script a outro

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.
Fernando Rego fernandorego
Hits: 4.028 Categoria: Shell Script Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

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.
Download throwErr.sh Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Adicionando "automagicamente" usuários

Instalação e configuração do celular Nokia 6670 no Ubuntu 8.10

Configuração do Mysql no Suse, quando ocorre o seguinte erro: "ERROR 2002: Can't connect to local My

Atualiza base de dados do Clamav e avisa o admin

rc.htblimit

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.