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

[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]



reply via email to

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