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

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

Re: [shell-script] Espaços em underline


From: Carlos Felicio
Subject: Re: [shell-script] Espaços em underline
Date: Fri, 15 Apr 2005 12:17:23 -0300
User-agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.3) Gecko/20040919

Voce poderia colocar aspas duplas para nao ter problemas com nomes compostos,


Douglas Tabajara wrote:

Saudações, lista!!!!

Eu estou criando um script para facilitar o trabalho de definir
permissões complexas de acesso a arquivos e pastas.
O script funciona perfeitamente bem com arquivos cujos nomes não
possuem espaços, tipo teste.txt, guia_de_clientes.swx ou financeiro.
Este último um diretório.
Quando os nomes são compostos mais de um nome, tipo material
tecnico.abw, não funciona...
Se alguém tiver uma idéia eu fico agradecido!!
Muito obrigado!!
Segue abaixo o script (que na verdade está apenas em um estágio inicial...):

$cat setperm.sh

#!/bin/bash

# Script Shell para setar permissoes de acesso v0.1 (13/04/05)
# v0.2 (13/04)
# v0.3 (14/04)

clear

cd $1

diratual=`pwd`
dir=`ls -l | grep ^d | awk '{print $8" "$9" "$10}'`
arq=`ls -l | grep ^- | awk '{print $8" "$9" "$10}'`

echo "Bem vindo ao Permission Maker v0.4 (14/04/05)"
echo
echo "Voce esta no diretorioo `echo $diratual`"
echo
echo "Os arquivos e diretorios aqui contidos sao:"

sleep 5

echo "Diretorios:"
echo
for i in `echo $dir`
do
       echo $i
done

sleep 2

clear

echo "Arquivos:"
echo
for ii in `echo $arq`
do
       echo $ii
done

sleep 2

clear

echo "Deseja verificar as permissoes atuais (s para sim e qualquer
caractere para nao)??"
read opt
echo
if [ $opt = "s" ]
then
       ls -l
else
       echo "OK..."
fi
echo
echo
echo "Deseja que todos os arquivos e diretorios do correntes contenham
as mesmas permissoes?? (s/n)"
read opt1

case "$opt1"
in
       "s")    clear
               echo "Qual o dono?"
               read own
               echo
               echo "Qual o grupo do dono?"
               read owngrp
               echo
               echo "Qual tipo de permissoes?"
               read permopt
               echo

               clear

               echo "Dono:"
               echo $own
               echo
               echo "Gupo do dono:"
               echo $owngrp
               echo
               echo "Permissoes:"
               echo $permopt
               echo
               echo "As informacoes acima estao corretas???(s para
sim e qualquer caractere para nao)"
               read certo
               if [ $certo = "s" ]
               then
                       chown `echo $own`.`echo $owngrp` *
                       chmod `echo $permopt` *
                       ls -l
               else
                       echo "Ok. Vamos recomecar..."
                       exit 1
               fi
       ;;
       "n")    clear
               echo "Os diretorios e arquivos contidos no diretorio
corrente serão listados"
               echo "e as suas permissoes efetuadas uma a uma."
               echo "Dependendo do numero de itens a serem
trabalhados, isso pode demorar."
               echo "Deseja continuar agora?? (s/n)"
               read continuar
               if [ $continuar = "s" ]
               then
                       clear
                       echo "OK! Vamos la!!!"
                       for item in `ls`
                       do
                               echo "Qual o dono?"
                               read own
                               echo
                               echo "Qual o grupo do dono?"
                               read owngrp
                               echo
                               echo "Qual tipo de permissoes?"
                               read permopt
                               echo

                               clear
                               echo "Dono:"
                               echo $own
                               echo
                               echo "Gupo do dono:"
                               echo $owngrp
                               echo
                               echo "Permissoes:"
                               echo $permopt
                               echo
                               echo "As informacoes acima estao
corretas???(s para sim e qualquer caractere para nao)"
                               read certo
                               if [ $certo = "s" ]
                               then
                                       chown `echo $own`.`echo
$owngrp` `echo $item`
                                       chmod `echo $permopt` `echo $item`
                                       ls -l `echo $item`
                               else
                                       echo "Bem, entao vamos recomecar..."
                                       exit 1
                               fi
                       done
               else
                       echo "OK! Obrigado por utilizar o JPM"
                       exit 1
               fi
       ;;
       *)      echo "Uso incorreto..."
               echo "s para sim e n para nao."
               exit 1
       ;;
esac
exit




reply via email to

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