Funções Shell Script para excluir uma arvore de dretorios ou diretorios nao vazios e arquivos sem ex

1. Funções Shell Script para excluir uma arvore de dretorios ou diretorios nao vazios e arquivos sem ex

Jean César
dark777

(usa Linux Mint)

Enviado em 30/04/2016 - 03:44h

estou fazendo algumas funçoes especificas no meu bash_profile e estou tendo problemas ao criar a função para excluir uma arvore de diretório ou o diretorio com algum arquivo dentro... minha função esta da seguinte maneira...

deletedir()
{
if [ ! -f "$1" ] && [ ! -d "$1" ]; then
shift
fi
diretory=$diretory
if [ -d "$diretory" ]; then
rm -rf $diretory
echo "Diretório Removido Permanentemente..!!!";
fi
}

porem ele nem retorna a mensagem de diretorio removido e nem remove os diretorios ou os arquivos dentro do mesmo
PS:

Função para remover arquivo sem extensção


arquidelete()
{
if [ ! -d "$1" ]; then
shift
fi
arq="*.*"
if [ -e $arq ]; then
shred -n 60 -f -u $arq
echo " Removido Permanentemente..!!!!";
fi
}

dessa forma eu só consigo remover arquivos que tenham extensoes, minha duvida é como fazer para que essa função remova arquivos com e sem extensoes?





  


2. Re: Função Shell Script para excluir uma arvore de dretorios ou diretorios nao vazios[AJUDA]

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/04/2016 - 03:51h

O comando

if [ ! -f "$1" ] && [ ! -d "$1"

pode ser escrito como

if [ ! -f "$1" -a ! -d "$1" ]; then
...

e

diretory=$diretory

não tem sentido. Como nome de variável fica melhor directory.


----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



3. Re: Funções Shell Script para excluir uma arvore de dretorios ou diretorios nao vazios e arquivos sem ex

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/04/2016 - 08:51h

A expressão

arq=*.*

representa no entender da máquina todos os arquivos só que o caracter de ponto não funciona como no DOS/Windows© sendo que ele ENTENDE mesmo como um caracter. Todos os arquivos com ponto no nome serão apagados. Deixando apenas o caracter * faz com que o comando rm apague TODOS OS ARQUIVOS. Exceto diretórios porque apenas o comando rm sem parâmetros não apaga diretórios com ou sem arquivos.


----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



4. Re: Funções Shell Script para excluir uma arvore de dretorios ou diretorios nao vazios e arquivos sem ex

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 30/04/2016 - 11:36h

Dica, sempre use aspas duplas nos nomes de variáveis pois elas podem conter espaços em branco e podem interferir na remoção ou qualquer outra coisa que você esteja fazendo.






=====================================================================
Não existe saber mais ou saber menos, existem saberes diferentes.
ID = LPI000359879
=====================================================================









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts