shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Aparentemente sem erro mas...


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Aparentemente sem erro mas...
Date: Thu, 20 Jul 2006 10:48:21 -0300

o problema está aqui:

mput $arquivo

a variavel 'arquivo' não existe, existe a variavel 'nome_arquivo' ;-)

alias eu dei uma olhada, o script poderia ficar assim (não está
testado, pode ter bugios)

#!/bin/bash
validate(){
[ "${2}" ] || { echo "${1} esperado" ; exit 1 ; }
}

do_ftp(){

if [ "${2}" ]
echo    "ftp -ivn ${1} <<-FIM
        prompt
        mput ${2}
        ls
        bye
        FIM"
fi

}

read -p  "Digite o Nome da Maquina : " maquina
read -p  "Digite o Login : " login
read -ps "Digite a Senha : " senha

validate "nome da maquina" ${maquina}
validate "login" ${login}
validate "senha" ${senha}

dir=${HOME}/.netrc
echo "machine ${maquina} login ${login} password ${senha}" > ${dir}
chmod 600 ${dir}

nome_arquivo="inicializado"
while [ "${nome_arquivo}" ]; do

  read -p "Digite o nome do Arquivo : " nome_arquivo

  do_ftp ${maquina} ${nome_arquivo}

done

On 7/20/06, Julio C. Neves <address@hidden> wrote:
Fala Jefferson,
acho que o Tiago tem (+/-) razão. Tenho a impressão (sem testar, pois veja o
horário do meu e-mail) e quase certeza que o here document feito com a
sintaxe que ele propos (<<-) só tira os <TAB> da frente do label. Veja se a
linha do label (FIM) não tem espaços em branco antes ou após.

Outra coisa, na linha:
echo "machine "$maquina" login "$login" password "$senha"" > "$dir"
Tire todas as aspas pois elas não são necessárias e são muito boas para
confundir quem está tentando te ajudar ou a quem vai dar manutenção ao seu
script. :)

Abração,
Julio
:wq


2006/7/19, jefferson Aranha <address@hidden>:
>
> E aer =D
> Modifiquei, mais não obtive exito na execução =/
>
>
>        ftp -ivn "$maquina" << FIM
>        prompt
>        mput $arquivo
>        ls
>        bye
>        <<-FIM
>
>
>
> > o erro está aqui:
> >
> >        ftp -ivn "$maquina" << FIM
> >        prompt
> >        mput $arquivo
> >        ls
> >        bye
> >        FIM
> >
> > para usar este 'heredoc', vc precisa informar FIM 'grudado' no inicio da
> linha.
> >
> > como vc 'indentou', substitua por <<-FIM e tente de novo ;-)
> >
> > On 7/19/06, jefferson Aranha <address@hidden> wrote:
> > > Boa Noite galera =D
> > >
> > >
> > > Gostaria de saber onde estou errando no seguinte script :
> > >
> > > Obs.: está dando erro na linha 38, mais só existe 37 linhas =/
> > > o que me deixa mais incucado ainda.
> > >
> > >
> > >    printf "Digite o Nome da Maquina : "
> > >    read maquina
> > >    printf "Digite o Login : "
> > >    read login
> > >    printf "Digite a Senha : "
> > >    stty -echo
> > >    read senha
> > >    stty echo
> > >
> > >    nome_arquivo="inicializado"
> > >    dir="$HOME/.netrc"
> > >
> > >    while [ "$nome_arquivo" ]
> > >    do
> > >
> > >     printf "\nDigite o nome do Arquivo : "
> > >     read nome_arquivo
> > >
> > >     if [ ! "$nome_arquivo" ]
> > >     then
> > >         nome_arquivo=
> > >     else
> > >
> > >         echo "machine "$maquina" login "$login" password "$senha"" >
> "$dir"
> > >         chmod 600 "$dir"
> > >
> > >         ftp -ivn "$maquina" << FIM
> > >         prompt
> > >         mput $arquivo
> > >         ls
> > >         bye
> > >         FIM
> > >
> > >     fi
> > >
> > >   done
> > >
> > >
> > > ---------------------------------------------------------------------
> > > Esta lista não admite a abordagem de outras liguagens de programação,
> como perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> > > ---------------------------------------------------------------------
> > > Sair da lista: address@hidden
> > > ---------------------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> > > ---------------------------------------------------------------------
> > > Servidor Newsgroup da lista: news.gmane.org
> > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >
> > >
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> > --
> > Tiago B Peczenyj
> > Linux User #405772
> >
> > # cd /pub
> > # more beer
> >
>
>



--
[ ]s,
Julio (http://www.julioneves.com)
Participe do 4o CONISLI - Congresso Internacional de Software Livre, dias
7 a 11 de novembro - SESC Vila Mariana - SP
www.conisli.org


[As partes desta mensagem que não continham texto foram removidas]



---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil


Links do Yahoo! Grupos











--
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


reply via email to

[Prev in Thread] Current Thread [Next in Thread]