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

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

RES: RES: RES: [shell-script] Quem poderia explicar!!!!!


From: geraldo
Subject: RES: RES: RES: [shell-script] Quem poderia explicar!!!!!
Date: Mon, 14 Jul 2003 09:59:56 -0300

Realmente em meu caso nao funcionou!!!!!!!! Porem como faco para resolver o
seguinte:
Vou colocar o scriopt inteiro aqui:

#!/bin/bash
# Verifica se o Root e o executor
ROOT_UID=0
E_NOTROOT=67
if [ "$UID" -ne "$ROOT_UID" ]
then
echo;echo
echo "É preciso ser \"root\" para usar este script."
echo
exit $E_NOTROOT
fi
clear
echo
echo "Digite os caminhos dos arquivos"
echo
read -p "Nome e path do arquivo de Usuarios </root/login>: " USR
echo
#read -p "Nome e path do arquivo de Nomes </root/nome>: " NM
#read -p "Nome e path do arquivo de grupo </root/grupo>: " GRP
#
#Verifica quantas linhas tem o arquivo de usuarios
NL=`wc -l $USR | awk '{print $1}'`
echo "Voce ira cadastrar" $NL "usuarios"
echo
#
#
#Copiando nome do arquivo de usuarios para um ARRAY
n=1
OLDIFS="$IFS"
IFS="
"
for i in `(awk -F "\:" '{print $2}' $USR)`
do
NOME[$n]=$i
let n+=1
done
IFS="$OLDIFS"
#
#Copiando senha arquivo de usuarios para um ARRAY
n=1
for i in `(awk -F "\:" '{print $3}' $USR)`
do
SENHA[$n]=$i
let n+=1
done
#
#Copiando grupo do arquivo de usuarios para um ARRAY
n=1
for i in `(awk -F "\:" '{print $4}' $USR)`
do
GRUPO[$n]=$i
let n+=1
done
#
#Copiando login do arquivo de usuarios para um ARRAY
n=1
for i in `(awk -F "\:" '{print $1}' $USR)`
do
LOGIN[$n]=$i
let n+=1
done
#
#
:<<__EOF
n=1
while [ "${n:=1}" -le "$NL" ]
do
echo $n "Login: ${LOGIN[$n]} Nome: ${NOME[$n]} Senha: ${SENHA[$n]} Grupo:
${GRUPO[$n]}"
let n+=1
done
echo
echo
__EOF
#
#Criando as contas
#
#:<<__EOF
n=1
while [ "${n:=1}" -le "$NL" ]
do
echo "Cadastrando ${NOME[$n]}"
echo "Grupo ${GRUPO[$n]}"
echo
var="adduser -g teste -c \"${NOME[$n]}\" ${LOGIN[$n]}"
echo $var
read -p "Digite Enter para criar o usuario acima"
$var
echo ${SENHA[$n]} | passwd --stdin ${LOGIN[$n]}
usermod -g ${GRUPO[$n]} ${LOGIN[$n]}
echo "............................Feito"
echo
let n+=1
done
echo
#__EOF

Meu arquivo usuario contem o seguinte:
gr:Geraldo Russo:escola:informatica
gf:Jose da Silva:escola:agropecuaria

Como executo o adduser??????????????????

Ele nao aceita por variavel e nem direto!!!!!!!
adduser -g teste -c \"${NOME[$n]}\" ${LOGIN[$n]}

Alguem poderia me dar esse HELP!!!!!!!!!!!!!

Abracos a todos!!!!!!!


Geraldo Russo Filho
Linux Administrator
Web Master
address@hidden
address@hidden
fone:(35) 9954-4688
-----Mensagem original-----
De: Thobias Salazar Trevisan [mailto:address@hidden]
Enviada em: sexta-feira, 11 de julho de 2003 11:12
Para: address@hidden
Assunto: Re: RES: RES: [shell-script] Quem poderia explicar!!!!!



ae,

On Thu, 10 Jul 2003, MoysXs Placin wrote:

> Se algum dos nobres componentes da lista souber como executar
> qualquer comando contido
> em variável, ficarei muito grato em tomar ciência do mapa da mina.

é só usar o eval:

prompt> touch x1 x2
prompt> ls -la | grep x1
-rw-r--r--    1 thobias  staff           0 Jul 11 11:09 x1
prompt> X="ls -la | grep x1"
prompt> $X
ls: |: Arquivo ou diretório não encontrado
ls: grep: Arquivo ou diretório não encontrado
-rw-r--r--    1 thobias  staff           0 Jul 11 11:09 x1
prompt> eval $X
-rw-r--r--    1 thobias  staff           0 Jul 11 11:09 x1
prompt>

falow

thobias
-------
echo 9446046325380026818553633794429812592304650P | dc
-------
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------


Yahoo! Groups Sponsor
PUBLICIDADE
Encontre seu Par Perfeito agora mesmo



Procuro por: HomemMulher

Entre 15-1918-2420-2425-2930-3435-3940-4445-4950-5455-5960-64anos

Estado:  ACALAMAP BACE DF ESGOMA MGMSMT PA PBPE PIPRRJRN RORR RSSCSESPTO











---------------------------------------------------------------------
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
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------


Seu uso do Yahoo! Grupos é sujeito aos Termos do Serviço Yahoo!.




reply via email to

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