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