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

Responder a