Parece que o comando install -D
é realmente o que eu quero.
Manpage:
-D create all leading components of DEST except the last, then copy SOURCE to DEST
Funciona muito bem, exceto que você precisa especificar cada arquivo individualmente.
Estou tentando escrever uma regra de makefile para copiar um diretório, mantendo sua estrutura e, como todas as outras regras em nossos makefiles usam install
, eu queria ser consistente.
Na manpage, diz:
SYNOPSIS
install [OPTION]... [-T] SOURCE DEST install [OPTION]... SOURCE... DIRECTORY install [OPTION]... -t DIRECTORY SOURCE... install [OPTION]... -d DIRECTORY... -d, --directory treat all arguments as directory names; create all components of the specified directories
OK, parece que eu preciso ... mas as bandeiras não fazem sentido. Como você especifica o diretório de destino para instalar?
Eu tentei fazer um teste básico criando uma estrutura de diretórios arbitrária no meu disco rígido local:
~>tree test
test
├── a
│ └── b
│ └── c
│ └── e.txt
└── d
4 directories, 1 file
Em seguida, execute install -d
e observe o que foi criado:
~>install -d test test2
~>tree test2
test2
0 directories, 0 files
Nada aconteceu!
Alguém pode me apontar na direção certa? Pesquisando "gnu install -d flag" não está me trazendo muito.
Parece que o comando install -D
é realmente o que eu quero.
Manpage:
-D create all leading components of DEST except the last, then copy SOURCE to DEST
Funciona muito bem, exceto que você precisa especificar cada arquivo individualmente.
install -d
é usado apenas para criar diretórios. Você disse para criar dois diretórios, test
e test2
. test
já existia, então tudo que precisava fazer era fazer test2
. Eu não acho que install
suporta copiar árvores inteiras de diretórios; é normalmente usado em arquivos. Você provavelmente precisará usar cp
Tags coreutils