Fórum Ubuntu Linux - PT

Suporte Técnico => Programação e Scripts => Tópico iniciado por: madsonnota10 em 29 de Outubro de 2014, 10:22

Título: Remover diretorio
Enviado por: madsonnota10 em 29 de Outubro de 2014, 10:22
Olá pessoal!
Estou executando o script com o comando: sh script_bkp_semanal.sh

Conteudo do script:

#!/bin/sh

rm -r /mnt/sdc/bkp_semanal
 

Retorno:
sh script_bkp_semanal.sh
: not foundsemanal.sh: 2: script_bkp_semanal.sh:
rm: não foi possível remover “/mnt/sdc/bkp_semanal\r”: Arquivo ou diretório não encontrado
: not foundsemanal.sh: 4: script_bkp_semanal.sh:

Como faço para remover este diretório?

Agradeço a ajuda antecipadamente.
Título: Re: Remover diretorio
Enviado por: Tota em 29 de Outubro de 2014, 10:46
Citar
rm: não foi possível remover “/mnt/sdc/bkp_semanal\r”

/mnt/sdc não é usual no Ubuntu. O Ubuntu utiliza a pasta /media para montar arquivos.

De qualquer maneira, tenha certeza que a unidade esteja montada na pasta /mnt e não em /media (padrão) e que a pasta /r exista antes de executar o script.

Se for um HD fixo seu sdc veja se ele esta declarado no fstab

pode ser que sua codificação de caracteres possa ser diferente neste disco, então tente usar /mnt/sdc/"bkp_semanal"\r (com bkp_semanal entre aspas duplas)

teste estas possibilidades e veja o que ocorre.
Título: Re: Remover diretorio
Enviado por: madsonnota10 em 29 de Outubro de 2014, 11:30
Olá!
O hd está montado, consigo acessar normalmente o diretório e executar o comando rm -r /mnt/sdc/bkp_semanal, efetuando a exclusão do diretório com sucesso no terminal. Porém com a execução do script ocorre o erro.

 

 
Título: Re: Remover diretorio
Enviado por: madsonnota10 em 29 de Outubro de 2014, 11:48
Executei o comando sh teste.sh

Conteudo do script:

#!/bin/sh

rm -r /home/teste

Retorno:

rm: não foi possível remover “/home/teste\r”: Arquivo ou diretório não encontrado
: not found: teste.sh:
Título: Re: Remover diretorio
Enviado por: Cleiton Nunes em 29 de Outubro de 2014, 11:51
Apenas um palpite, tente:

#!/bin/sh

rm -r /home/teste/

com uma barra / no final de 'teste'
Título: Re: Remover diretorio
Enviado por: madsonnota10 em 29 de Outubro de 2014, 11:55
Retorno:

: not found: teste.sh:
rm: não foi possível remover “/home/teste/\r”: Arquivo ou diretório não encontrado
: not found: teste.sh:
: not found: teste.sh:
Título: Re: Remover diretorio
Enviado por: Cleiton Nunes em 29 de Outubro de 2014, 12:04
Um detalhe importante que talvez você tenha esquecido, você está navegando pelo terminal até o local do script?

tipo:

$ cd local/do/script
$ sh script.sh

Não esqueça de usar o sudo e dar as permissões de execução para o script

$ sudo chmod +x script.sh
Título: Re: Remover diretorio
Enviado por: madsonnota10 em 29 de Outubro de 2014, 12:13
As permissões para execução do script estão ok!

chmod +x teste.sh
Título: Re: Remover diretorio
Enviado por: madsonnota10 em 29 de Outubro de 2014, 12:40
Realmente o erro fala que há um erro no caminho, o erro apresenta no final do diretório um "\r".

rm: não foi possível remover “/home/teste\r”: Arquivo ou diretório não encontrado
Título: Re: Remover diretorio
Enviado por: madsonnota10 em 29 de Outubro de 2014, 12:59
Descobrir o erro, o script estava com linhas em branco após o caminho, por isso "\r".
Após exclusão das linhas o script rodou normalmente, porém quando adiciono mas comando é apresentado o mesmo erro.

Exemplos:

Funciona:

#!/bin/sh

rm -r /home/teste


Não funciona:

#!/bin/sh

rm -r /home/teste

echo "teste ok"

Retorno:
rm: não foi possível remover “/home/teste\r”: Arquivo ou diretório não encontrado


 

 
Título: Re: Remover diretorio
Enviado por: madsonnota10 em 29 de Outubro de 2014, 13:40
Foi resolvido adicionando o ";" no final do caminho a ser excluído. 

#!/bin/sh

rm -r /home/teste;



Título: Re: Remover diretorio
Enviado por: irtigor em 29 de Outubro de 2014, 19:36
O problema está no seu editor de texto. Use um editor do Linux, ou qualquer coisa descente configurada pra produzir novas linha no formato usado no Linux (\n), e não o do Windows (\r\n).