[Fedora-users-br] sed

Alberto Monteiro albmont em centroin.com.br
Sex Jan 5 13:35:02 UTC 2007


Adere - Levi / Analista de Suporte Linux escreveu:
>
> Pessoal eu tenho dentro de um arquivo chamado users.txt as seguintes 
> linhas: lalves acavalleiros rfernandes
> 
> e exite um arquivo chamado permissão.sh, queria colocar os seguintes 
> comandos dentro desse arquivo usando o arquivo users.txt, por exemplo
> 
> /usr/bin/chmod -R 755 laves
> /usr/bin/chown -R laves:laves laves
> 
> esse comandos acima eu quero colocar dentro do arquivo permissao.sh
> 
Você quer colocar os comandos no arquivo, ou voce quer criar o
arquivo a partir do zero?

De qualquer modo, roda esse script (não se esqueça de fazer backup
de permissao.sh antes de rodar - se der m****, você recupera o
arquivo)

--- 
cp permissao.sh permissao.sh.bak # ou qq outra coisa parecida
echo "" > permissao.sh # apenas se for para criar do zero
# se for para agregar no fim do arquivo, eu sugiro que você quebre
# permissao.sh em duas partes: uma delas criada pelo script, e outra
# fixa.
for u in `cat users.txt`   #  ` deve ser um back-clip, ou crase
do
  echo "/usr/bin/chmod -R 755 $u" >> permissao.sh
  echo "/usr/bin/chown -R $u:$u $u" >> permissao.sh
done
---

Eu também acho um porre o default de cada conta ser totalmente
restritivo, e o dono da árvore não ser o próprio usuário.

Alberto Monteiro

PS: apenas tome cuidado com o cat. Se o arquivo users.txt tiver
sido criado pelo OS-do-Mal, cada linha vai terminar com CR-LF,
e a variável u vai ter um CR no final. Já me ferrei algumas
vezes por causa desses detalhes idiotas, ao migrar programas
entre OSes diferentes. :-/




Mais detalhes sobre a lista de discussão Fedora-users-br