2008/10/28 edmarssouza <[EMAIL PROTECTED]> > E ai pessoal, tudo bem? > Espero que sim. > É o seguinte, quero que quando o usuario escolher: > -p ou --proxy e digitar o ip do servidor proxy, as respectivas > variáveis de ambiente seja exportada: http_proxy e ftp_proxy. > O problema é que, quando o usuário digita o ip do servidor e a porta, > as informações não vão para as variaveis: http_proxy e ftp_proxy, > ficando somente http:// nas duas variaveis. E as mesmas não são > exportadas. > Alguém poderia me ajudar, agradeceria se alguém pudesse contribuir > para a resolução do meu problema, agradeço desde já. Um abraço. > O código é o seguinte: > > #!/bin/bash > > server_proxy() { > ip=$(echo $2 | cut -f1 -d ":") > porta=$(echo $2 | cut -f2 -d ":") > export http_proxy="http://${ip}:${porta}" > export ftp_proxy="http://${ip}:${porta}" > } > > case $1 in > -[Pp]|--[Pp][Rr][Oo][Xx][Yy]) server_proxy ;; > esac >
Olá! Primeiramente sugiro que você utilize getopts ao invés do case. Bem mais interessante. Veja esta dica: http://www.dicas-l.com.br/dicas-l/20060119.php Mas se quiser manter sua solução, basta passar o parâmetro para server_proxy. server_proxy $2. Note que este será o primeiro parâmetro posicional da função. Lá, então, substitua $2 por $1. Outra coisa... pq este vai e vem com os : ? -- Fabiano Caixeta Duarte Especialista em Redes de Computadores Linux User #195299 Ribeirão Preto - SP [As partes desta mensagem que não continham texto foram removidas]