Permissões em pasta

1. Permissões em pasta

Eli Carlos
last_evolution

(usa Slackware)

Enviado em 04/06/2008 - 08:08h

Fala galera, tudo certo

Eu tenho uma dúvida meio "besta", apesar de usar Linux a um bom tempo nunca programei em shell(eu sei isso é inaceitável) mas creio que o que preciso seja fácil de resolver. Na empresa onde trabalho temos um sevidor Linux e atualizamos sistemas pelas estações windows, pelo explorer conseguimos acessar as pastas numa boa, mas quando o programa de atualização de certas companhias de seguros tentam atualizar da erro de permissão, para que funcione eu tenho que ficar no servidor dando "chmod -R 777 pasta" o tempo todo até o fim da atualização, isso ocorre devido ao fato de que o programa que executa a atualização do sistema criar arquivos temporários no servidor durante a instalção. O que eu precisa é um script que fique dando chmod em loop infinito até que eu intervenha pressionando alguma tecla.

A logica do programa eu sei, mas não sei como faze-lo em shell...é mais ou menos assim, o script pergunta qual o nome da pasta que o usuário deseja setar a permissão, o usuário digita o nome da pasta e o script a coloca na variável $pasta depois ele aplica um chmod -R 777 $pasta mas eu preciso que isso fique em loop até que eu intervenha digitando alguma tecla para parar. Isso iria poupar bastante tempo de trabalho e meus dedos também =P

É possivél?

Abraços!!!


  


2. Re: Permissões em pasta

Denis Doria
thuck

(usa Debian)

Enviado em 04/06/2008 - 09:54h

CHECK=TRUE

while [ $CHECK == 'TRUE' ]
do

chmod -R 777 $1

read -t5 CHECK

done

Muito embora o read seja desnecessário e um control+c resolvesse seu problema:

while true; do chmod -R 777 $PASTA; done

roda eternamente até vc dar um control+c.


3. Re: Permissões em pasta

Eli Carlos
last_evolution

(usa Slackware)

Enviado em 04/06/2008 - 09:57h

basta então digitar while true; do chmod -R 777 exemplo; done que ele fica em um loop infinito até que eu dê um CTRL+C? Abraços!


4. Re: Permissões em pasta

Denis Doria
thuck

(usa Debian)

Enviado em 04/06/2008 - 10:05h

Sim... Resolve...
Se precisar que alguma coisa seja feita antes do control+c, por exemplo que as permissões sejam restauradas vc pode usar o comando 'trap' para configurar a ação que o script toma quando recebe o sinal para finalizar.

Tipo:

trap "chmod -R 600 $PASTA" 1 5 9 15



5. Re: Permissões em pasta

Eli Carlos
last_evolution

(usa Slackware)

Enviado em 04/06/2008 - 10:11h

cara eu sou realmente MUITO leigo em shell...isso é pra mim digitar direto no console ou dentro do script?


6. Re: Permissões em pasta

Denis Doria
thuck

(usa Debian)

Enviado em 04/06/2008 - 14:28h

Dentro do script...

O comando 'trap' captura sinais, por exemplo 'kill -9 gdm' o kill manda o sinal 9 para o processo gdm, se fizermos 'kill -9 script.sh' e dentro do script tivermos o "trap 'echo BUGA' 9" o script.sh imprimiria BUGA antes de finalizar.








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts