Como portar esse script * nix-shell para o OS X?

0

Eu tenho um script unix-shell que deveria funcionar em máquinas nix. No entanto, isso não é executado no OS X, devido ao comando "cp" não definido. Mudar para "copiar" não ajudou.

git log -1 --pretty=format:"%h" | xargs -I %id% git diff-tree --no-commit-id --name-only -r %id% | xargs -I % cp --parents % upd/

O script deve fazer uma cópia dos arquivos alterados no último commit do git.

Nick Volynkin
fonte
Gostaria de saber se tem mais a ver com o sinal de porcentagem do que com o cp. Como o cp deve estar disponível em qualquer caso, é um comando tão básico.
violoncelo
2
ou "cp" no OS X não sabe o --parents opção
cello
Se você possui o Command Line Tools for Xcode instalado, pode fazer o download dos principais utilitários GNU e instalar a versão GNU com a cpqual funciona --parents. Acabei de testar e funciona bem.
User3439894

Respostas:

3

Dê uma olhada neste thread do SO: https://stackoverflow.com/questions/11246070/cp-parents-option-on-mac

cpestá disponível no OS X, mas não suporta a --parentsopção, como imaginei. Em vez de usar cp --parents, substitua-o dittocomo mencionado na resposta SO.

violoncelo
fonte
Obrigado, vou dar uma olhada e possivelmente responder com uma solução.
Nick Volynkin