[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] Ecoando scripts
From: |
Emerson Domingues Souto - H2M |
Subject: |
RES: [shell-script] Ecoando scripts |
Date: |
Tue, 7 Aug 2012 14:01:12 -0300 |
Ah, então o Jonathan e o Júlio já te responderam.
Use aspas simples, mas só no começo e no final do echo principal.
Vai ficar assim:
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
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 12:18
Para: address@hidden
Assunto: Re: [shell-script] Ecoando scripts
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 <mailto:emersons.h2m%40maritima.com.br> > 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
>
>
[As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Ecoando scripts, Jonathan Lessa, 2012/08/07