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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]>:
> >
> > 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 <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED]
> > > > ---------------------------------------------------------------------
> > > > 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: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> 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


---------------------------------------------------------------------
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: [EMAIL PROTECTED]
---------------------------------------------------------------------
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

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a