Saya mencoba menulis aturan makefile untuk menyalin direktori, mempertahankan strukturnya, dan karena semua aturan lain dalam makefile kami gunakan install
, saya ingin konsisten.
Di halaman manual, tertulis:
RINGKASAN
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, itu kedengarannya seperti yang saya butuhkan ... tetapi bendera tidak masuk akal. Bagaimana Anda menentukan direktori tujuan untuk menginstal?
Saya mencoba melakukan tes dasar dengan membuat struktur direktori sembarang pada hard disk lokal saya:
~>tree test
test
├── a
│ └── b
│ └── c
│ └── e.txt
└── d
4 directories, 1 file
Dan kemudian berlari install -d
dan melihat apa yang telah dibuat:
~>install -d test test2
~>tree test2
test2
0 directories, 0 files
Tidak ada yang terjadi!
Adakah yang bisa mengarahkan saya ke arah yang benar? Googling "gnu install -d flag" tidak membawa saya banyak.
cp -r
cp -r
?install -d
hanya digunakan untuk membuat direktori. Anda mengatakannya untuk membuat dua direktori,test
dantest2
.test
sudah ada, jadi yang perlu dilakukan hanyalah membuattest2
. Saya tidak berpikirinstall
mendukung menyalin seluruh pohon direktori; ini biasanya digunakan pada file. Anda mungkin perlu menggunakancp
sumber
install -d
sama denganmkdir
kecuali bahwa Anda dapat menentukan mode, pemilik, konteks SELinux, dan grup sekaligus.Biasanya yang Anda inginkan adalah menginstal file di folder kanan, tanpa mengulangi diri Anda. Anda dapat menggunakan find dan install untuk membantu menjaga skrip instalasi Anda lebih KERING
sumber