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

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

RE: [shell-script] copiar arquivos cujo nome possui espaço


From: MrBiTs
Subject: RE: [shell-script] copiar arquivos cujo nome possui espaço
Date: Tue, 1 Mar 2005 16:58:20 -0300

/*
Eu tenho um script que eu uso para auxiliar meu trabalho, e este é um
pequeno trecho dele cuja função é fazer um backup da pasta
/home/$user/alunos em /home/back/alunos, no entanto, como eu uso o comando
find para obter uma lista dos arquivos que serão copiados, os espaços não
são especificados como se deve, com o "\"
 como no exemplo:

# cp /home/tux/alunos/diretorio com espaço/arquivo
/home/tux/back/alunos/diretorio com espaço/arquivo

o correto seria
# cp /home/tux/alunos/diretorio\ com\ espaço/arquivo
/home/tux/back/alunos/diretorio\ com\ espaço/arquivo

mas eu não tenho ideia de como inserir esse caracter nos espaços.....

alguem pode me dar uma mãozinha????????/


#!/bin/bash

tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$ trap "rm -f
$tempfile" 0 1 2 5 15


back ()
{
   for var in `cat $tempfile`
   do
   cd /home/$user
if test -d $var
then
mkdir /home/$user/back/$var
else
   cp $var /home/$user/back/$var --reply=yes -rf fi
  done
chown root.professor /home/$user/back -R 2>&- chmod 770 /home/$user/back -R
2>&- }


novo ()
{
for user in `cat /user|egrep -v "^#|^$"` do cd /home/$user find alunos/*
>$tempfile cat $tempfile sleep 10

back
done
}
novo
*/


Proteja os espacos do shell, colocando os parametros entre aspas duplas.
Entao, no exemplo do CP

cp "/home/tux/alunos/diretorio com espaço/arquivo"
"/home/tux/back/alunos/diretorio com espaço/arquivo"

[]'s




reply via email to

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