Parâmetros [RESOLVIDO]

1. Parâmetros [RESOLVIDO]

Victor de Freitas
victordfrb

(usa Ubuntu)

Enviado em 20/04/2015 - 10:50h

Galera, eu estou construindo um script e preciso que a passagem de usuário e senha sejam feitos através de parâmetros

O que eu quero que seja digitado é o seguinte:

./meuscript -u (usuario) -p(senha) -s(server) -P(porta)

Não consegui achar nenhum tutorial me ensinando assim, só achei através de parâmetros ordenais.

Quem puder me ajudar, muito obrigado!


  


2. MELHOR RESPOSTA

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 20/04/2015 - 13:19h

Amigo, é um pouco complexo com o esquema de "-h" e talz, mas eu posso ajudar :


#!/bin/bash

case $* in
"-h") echo "Isto seria uma ajuda... Mas fiquei com preguiça de escrevê-la."
;;
"-v") echo "Versão 666."
;;
*) echo "Opção inválida!"
exit 1
;;
esac



Ou por exemplo:


#!/bin/bash

function PrintUsage() {
echo "Uso: `basename $0` <-umsf> [-ohv]"
exit 1
}

while getopts "hvo:umsf" OPTION
do
case $OPTION in
h) PrintUsage
;;
v) echo "`basename $0` versao 666."
exit
;;
o) ARQUIVO_LOG=$OPTARG
;;
u) DO_UNAME=1
;;
m) DO_FREE=1
;;
s) DO_SWAPON=1
;;
?) PrintUsage
;;
esac
done
shift $((OPTIND-1))

if [ -z "$DO_UNAME" ] && [ -z "$DO_FREE" ] && [ -z "$DO_SWAPON" ] && [ -z "$DO_FDISK" ]; then
PrintUsage
fi

if [ "$ARQUIVO_LOG" ]; then echo "Execucao iniciada em `date`." >> $ARQUIVO_LOG

if [ "$DO_UNAME" == 1 ]; then
uname -a >> $ARQUIVO_LOG
fi

if [ "$DO_FREE" == 1 ]; then
free -m >> $ARQUIVO_LOG
fi

if [ "$DO_SWAPON" == 1 ]; then
swapon -s >> $ARQUIVO_LOG
fi
else
echo "Execucao iniciada em `date`."
if [ "$DO_UNAME" == 1 ]; then
uname -a
fi

if [ "$DO_FREE" == 1 ]; then
free -m
fi

if [ "$DO_SWAPON" == 1 ]; then
swapon -s
fi
fi


Então adapte o código a sua necessidade.

Espero ter ajudado

Se ajudei, marque a próxima resposta desse tópico (fora a minha) como melhor resposta =D

[]'s

T+

Fonte e Link util : http://www.devin.com.br/shell-script-tratamento-de-argumentos-e-opcoes/

3. Re: Parâmetros [RESOLVIDO]

Victor de Freitas
victordfrb

(usa Ubuntu)

Enviado em 23/04/2015 - 18:55h


Mano, dei uma olhada no site que recomendou e consegui. Obrigado!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts