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
-
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.
-
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.
-
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.
-
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:
-
Apenas um palpite, tente:
#!/bin/sh
rm -r /home/teste/
com uma barra / no final de 'teste'
-
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:
-
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
-
As permissões para execução do script estão ok!
chmod +x teste.sh
-
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
-
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
-
Foi resolvido adicionando o ";" no final do caminho a ser excluído.
#!/bin/sh
rm -r /home/teste;
-
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).