Estoy tratando de escribir una regla de archivo MAKE para copiar un directorio, manteniendo su estructura, y dado que todas las demás reglas en nuestros archivos MAKE usan install
, quería ser coherente.
En la página de manual, dice:
SINOPSIS
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, eso suena como lo que necesito ... pero las banderas no tienen sentido. ¿Cómo se especifica el directorio de destino para instalar?
Intenté hacer una prueba básica haciendo una estructura de directorio arbitraria en mi disco duro local:
~>tree test
test
├── a
│ └── b
│ └── c
│ └── e.txt
└── d
4 directories, 1 file
Y luego corriendo install -d
y mirando lo que se creó:
~>install -d test test2
~>tree test2
test2
0 directories, 0 files
¡No pasó nada!
¿Alguien puede señalarme en la dirección correcta? Buscar en Google "gnu install -d flag" no me trae mucho.
cp -r
cp -r
?install -d
solo se usa para crear directorios. Le dijiste que creara dos directorios,test
ytest2
.test
ya existía, así que todo lo que tenía que hacer era hacertest2
. No creo que seainstall
compatible con copiar árboles de directorios completos; normalmente se usa en archivos. Probablemente necesites usarcp
fuente
install -d
es lo mismo,mkdir
excepto que puede especificar el modo, el propietario, el contexto de SELinux y el grupo de una vez.Por lo general, lo que desea es instalar archivos en la carpeta correcta, sin repetirlo. Puede usar buscar e instalar para ayudar a mantener sus scripts de instalación más SECOS
fuente