Remover diretorio

Iniciado por madsonnota10, 29 de Outubro de 2014, 10:22

tópico anterior - próximo tópico

madsonnota10

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.

Tota

Citarrm: 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.

madsonnota10

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.

 

 

madsonnota10

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:

Cleiton Nunes

Apenas um palpite, tente:

#!/bin/sh

rm -r /home/teste/

com uma barra / no final de 'teste'
Trisquel GNU/Linux 7.0 http://trisquel.info/ on Intel i3, 8GB RAM, HD graphics 3000 and 500GB hard disk.

madsonnota10

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:

Cleiton Nunes

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
Trisquel GNU/Linux 7.0 http://trisquel.info/ on Intel i3, 8GB RAM, HD graphics 3000 and 500GB hard disk.

madsonnota10

As permissões para execução do script estão ok!

chmod +x teste.sh

madsonnota10

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

madsonnota10

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





madsonnota10

Foi resolvido adicionando o ";" no final do caminho a ser excluído. 

#!/bin/sh

rm -r /home/teste;




irtigor

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).