Finalmente algu�m inteligente entendeu o que preciso.
Mas n�o funciona......
Bom, vou explicar exatamete o que eu preciso:
1 - preciso de um script que de um chmod 555 recursivamente em um
determinado diret�rio, por�m ele n�o pode mudar a permiss�o dos diret�rios,
ent�o complicou um pouco, por�m ainda � facil.
2 - existem nomes de arquivos com espa�o. (esse � o problema, o script 2
resolve ele, por�m como pergar o numero total de linhsa de um arquivo?)
Meu script 1(esse n�o muda permiss�o para nomes compostos)
#!/bin/bash
ls -R --quoting-style=literal > teste
for j in `cat teste`; do
if [ ! -d $j ]; then
chmod $1 "$j" # j� tentei com aspas simples, com crase, sem
aspas, com o escambal e nada...
else
cd $j
fi
done
Meu script 2(esse n�o faz recursivo, porem muda a permissao para nomes
compostos)
#/bin/bash
# lista tudo no diretorio acima especificado e grava no arquivo teste
ls --quoting-style=literal > teste
# Pega o numero da linha no arquivo teste
linhas=`wc -l teste | cut -d' ' -f6` #aqui esta o problema, n�o conhe�o
outra maneira de pegar o n�mero total de linhas do arquivo (s� o n�mero) se
eu conseguir isso esse script funciona......
#com o numero da linha agora faz mudar a permissao
#dos arquivos listados no arquivo teste
while [ $i -le $linhas ]; do
arquivo=`awk NR==$i teste` # Extrai o arquivo da linha i
i=$(($i + 1)) # Soma +1 para pular para a proxima linha
# Verifica se e diretorio
if [ ! -d $arquivo ]; then
chmod 555 "$arquivo"
fi
done
rm -rf teste # Apaga o arquivo teste criado
exit 0
Obrigado pela ajuda mesmo assim.
Loghan
----- Original Message -----
#!/bin/sh
# Muda a permisao dos arquivos regulares
#echo $PWD
#DIR=$PWD
for x in `ls -al`
do
if [ -f $x ]; then
chmod -c $1 $x
fi
done
ls -al
e chamo o mesmo da seguinte forma:
./Permisao 0644
e ele ir� alterar a permisao de todos os arquivos para 0644.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.639 / Virus Database: 408 - Release Date: 22/03/2004
---------------------------------------------------------------------------
Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br
Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utiliza��o da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html