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

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

Re: [shell-script] Ecoando scripts


From: Daniel Leomil
Subject: Re: [shell-script] Ecoando scripts
Date: Tue, 7 Aug 2012 12:17:48 -0300

Funciona assim

Eu tenho dois arquivos, um com os nomes e descrições separados por : e
outro arquivo que é o script em si que le o txt com os users.

O script que faz a criação tem como premissa as varíaveis do script que le
o users.

quando crio os arquivos na mão tipo o .sh e o txt tudo lindo e maravilhoso.

Acontece que antes disso eu preciso fazer umas chegens antes então resolvi
colocar a criação destes dois arquivos no script.

Quando faço:


echo "r106509:xxxxxxxxxxx
r108132:xxxxxxxxxxx
r109219:xxxxxxxxxxxxx
r11114:xxxxxxxxxxx
r320979:xxxxxxxxxxxx
r337053:xxxxxxxxxxxx
r106319:xxxxx
r338941:xxxxxxxxxxxxxxx
r339054:xxxxxxxxxxx
r339122:xxxxxxxxxxxxxxx
r339906:xxxxxxxx
" > users.txt


tudo ok

mas quando faço:


echo "#!/bin/bash

groupadd admte

while read linha
do
  login="$(echo $linha | cut -d":" -f1)"
  coment="$(echo $linha | cut -d":" -f2)"

echo "Criando usuario $coment"
#Criando usuario
useradd -m -d /export/home/$login -g admte -c "$coment" -s /bin/bash $login

#Criando a senha do usuario
echo "Criando a senha inicial"
passwd -u $login

#Expirando a senha forcando a troca no proximo login
echo "Forcando troca no primeiro login"
passwd -f $login

done < users.txt

echo "Lista Users criados"
echo
getent passwd
" >> users.sh


o Bash remove as variáveis e o arquivo fica:


lendo o arquivo que foi criado com o echo

cat users.sh

#!/bin/bash

groupadd admte

while read linha
do
  login= ?????????????????
  coment= ???????????????

echo Criando usuario
#Criando usuario
useradd -m -d /export/home/???????? -g admte -c ???????? -s /bin/bash
?????????

#Criando a senha do usuario
echo Criando a senha inicial
passwd -u ????????????????

#Expirando a senha forcando a troca no proximo login
echo Forcando troca no primeiro login
passwd -f

done < users.txt


O que preciso é que o Bash não faça nada apenas jogar o que esta no echo
pra dentro de um arquivo.



--

Att,

Daniel Leomil



Em 7 de agosto de 2012 11:57, Emerson Domingues Souto - H2M <
address@hidden> escreveu:

> **
>
>
> A questão então é pq as variáveis não foram para o arquivo, é isso mesmo ?
>
> Como vc está chamando esse script ? Qual o conteúdo das variáveis quando
> esse script é chamado ?
>
>
>
>
>
> Emerson Domingues Souto
>
> Tecnologia da Informação
>
> Marítima Seguros S/A
>
>
>
>
>
> De: address@hidden [mailto:
> address@hidden] Em nome de Daniel Leomil
> Enviada em: terça-feira, 7 de agosto de 2012 11:22
> Para: address@hidden
> Assunto: Re: [shell-script] Ecoando scripts
>
>
>
>
>
> Eu sei, acontece que se o arquivo é gerado sem as variáveis o -c não
> funciona mesmo.
> Olha o techo correto e veja que lá era pra ter uma variável que não foi
> pra
> dentro do arquivo.
>
> --
>
> Att,
>
> Daniel Leomil
>
> Em 7 de agosto de 2012 11:18, 빠는 Leonardo Goretti <
> address@hidden <mailto:leonardogoretti%40gmail.com>
> > escreveu:
>
> > Um dos erros é o -c ( comentário deveria vir em " " )
> >
> > vo testar pra ver os demais
> >
> > Em 7 de agosto de 2012 11:13, Daniel Leomil <address@hidden<mailto:
> daniel%40leomil.com.br> >
> > escreveu:
> >
> > > **
> > >
> > >
> > > Bom dia amigos,
> > >
> > > Preciso da ajuda de vcs com um peuqeno script.
> > > Tenho um script que ao rodar na mãe ele executa sem problema, porém
> agora
> > > preciso ecoar este script pronto para dentro de um arquivo onde
> recebera
> > > permissão de execução após a criação e será chamdo para rodar.
> > >
> > > O que preciso é ecoar exatamente o que está entre os " " para um
> arquivo.
> > > inclusive as variáveis e tudo que está lá.
> > >
> > > O fiz é isso:
> > >
> > > echo "#!/bin/bash
> > >
> > > groupadd admte
> > >
> > > while read linha
> > > do
> > > login="$(echo $linha | cut -d":" -f1)"
> > > coment="$(echo $linha | cut -d":" -f2)"
> > >
> > > echo "Criando usuario $coment"
> > > #Criando usuario
> > > useradd -m -d /export/home/$login -g admte -c "$coment" -s /bin/bash
> > $login
> > >
> > > #Criando a senha do usuario
> > > echo "Criando a senha inicial"
> > > passwd -u $login
> > >
> > > #Expirando a senha forcando a troca no proximo login
> > > echo "Forcando troca no primeiro login"
> > > passwd -f $login
> > >
> > > done < users.txt
> > >
> > > echo "Lista Users criados"
> > > echo
> > > getent passwd
> > > " > users.sh
> > >
> > > Porém o arquivos fica desta maneira:
> > >
> > > echo "#!/bin/bash
> > >
> > > groupadd admte
> > >
> > > while read linha
> > > do
> > > login=
> > > coment=
> > >
> > > echo "Criando usuario "
> > > #Criando usuario
> > > useradd -m -d /export/home/ -g admte -c -s /bin/bash
> > >
> > > #Criando a senha do usuario
> > > echo "Criando a senha inicial"
> > > passwd -u
> > >
> > > #Expirando a senha forcando a troca no proximo login
> > > echo "Forcando troca no primeiro login"
> > > passwd -f
> > >
> > > done < users.txt
> > >
> > > echo "Lista Users criados"
> > > echo
> > > getent passwd
> > > " > users.sh
> > >
> > > desde já agradeço a ajuda de todos.
> > >
> > > --
> > >
> > > Att,
> > >
> > > Daniel Leomil
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> >
> >
> > --
> >
> > Leonardo Goretti
> > Administrador em Redes - GNU/LINUX
> > Celular: +55 (61) 9148 2171
> > Gtalk: address@hidden <mailto:leonardogoretti%40gmail.com>
> > ----------------------------------------------
> > Linux Certification (LPIC-1)
> > Novell Certified Linux Administrator (CLA)
> >
> >
> > [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 <mailto:
> shell-script-unsubscribe%40yahoogrupos.com.br>
> > ----------------------------------------------------------
> > 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
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



reply via email to

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