Arquivo fonte :~/SCRIPTS/script
Diretório de destino :~/TMP/LAB
o comando deve ser algo como:<command> <option> ~/SCRIPTS/script ~/TMP/LAB
Resultado desejado após o comando:~/TMP/LAB/SCRIPTS/script
Não adianta fazer
<command> <option> ~/SCRIPTS/script ~/TMP/LAB/SCRIPTS/
Porque terei que editar o comando toda vez que alterar o arquivo de origem. Basicamente, quero que o comando crie os diretórios com base na estrutura que encontra na fonte, não com base no destino que desejo criar.
O comando deve:
- crie ~/TMP/LAB/SCRIPTS/
- copie ~/SCRIPTS/script para ele.
cp --parents
faz isso, mas apenas ao copiar diretórios
Não sei se install
pode fazer isso por mim? ou talvez rsync
?
Você deve poder usar
cp --parents
se tiver GNUcp
.Você sugeriu usar
rsync
, o que você pode fazer se usar a opção-R
(--relative
):Observe que em ambas as variações, usar o caminho absoluto
~/SCRIPTS/script
como origem em vez do caminho relativoSCRIPTS/script
criaria diretórios correspondentes ao caminho absoluto no destino e você terminaria com algo comoTMP/LAB/home/myself/SCRIPTS/script
.Você evitaria isso alterando primeiro os diretórios para o diretório que contém o
SCRIPTS
diretório.Acontece que os
cp --parents
pais são criados mesmo quando a origem é um arquivo.