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

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

Espaços em underline


From: Douglas Tabajara
Subject: Espaços em underline
Date: Fri, 15 Apr 2005 11:34:49 -0300

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

-- 
=====
"O único homem que está isento de erros, é aquele que não arrisca acertar."
                                - Albert Einstein

"O Mais Sábio dos Homens é aquele que sabe que nada sabe!!"
                                - Sócrates

"A alegria não está nas coisas: está em nós! Acredito que ter as
coisas que queremos
pode até nos trazer uma alegria momentânea, mas ser o que queremos ser, 
fazer o que sonhamos é que nos traz a verdadeira alegria!
                                - Göethe


reply via email to

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