Como usar corretamente o comando de linha de comando 'install' no Mac OS X?

1

Eu tenho um makefile que instala muitos arquivos no meu diretório de compilação de destino. Algumas delas são executáveis, outras não.

Eu testei o comando install com flags -D -m 644 para arquivos não-executáveis anteriores ao Linux, mas agora ele quebrou. Eu descobri que -D flag não está disponível com o OSX / BSD e o removi. O problema é que preciso ter certeza de que os diretórios de componentes nos caminhos dos arquivos que estou instalando sejam criados conforme necessário. Eu pensei que o sinal -d ajudaria, mas fazendo algo como:

install .DS_Store ./tmp/build/some_dir/

Mas ele reclama que o some_dir é "nenhum arquivo ou diretório", ou seja, ele não existe (o que é verdadeiro). Em seguida, tentei o mesmo acima, mas com o sinal -d e recebi outro erro:

install: .DS_Store exists but is not a directory

Eu só quero uma maneira mais ou menos estável e genérica de copiar arquivos para o destino. Talvez eu deva recorrer a cp ? Eu sei as diferenças menores, mas importantes entre os dois, embora.

    
por amn 07.02.2013 / 18:01

1 resposta

2

install -d interpreta todos os seus argumentos como diretórios que (talvez) precisem ser criados. Assim, acho que você precisa fazer isso como dois comandos:

install -d ./tmp/build/some_dir/
install .DS_Store ./tmp/build/some_dir/
    
por 10.02.2013 / 00:36