Todas as opções precisam estar juntas antes dos argumentos, e o -f
flag precisa preceder o arquivo tar:
tar -zcv --exclude='.git' --exclude='.gitignore' -f $NAME-$VERSION.tar.gz $NAME-$VERSION
Isso está me deixando louco. Eu quero tar
um diretório, mas excluo alguns arquivos. Este é o meu comando:
tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude='.git' --exclude='.gitignore'
Enquanto o comando acima funciona no RedHat EL5, ele não funciona no Mac OS 10.8.2. Eu tentei substituir o '
por "
, \'
e \"
. Eu tentei remover os sinais de igual. Nada funciona.
O que estou fazendo de errado?
Isso lhe dá o que você quer:
tar czvf $NAME-$VERSION.tar.gz $NAME-$VERSION --wildcards --exclude=.git --exclude=.gitignore
Parece que você gosta de filtrar os meta diretórios .git, a maneira mais fácil é usar --exclude-vcs para excluir os diretórios do sistema de controle de versão:
tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude-vsc
Eu usei "tar (GNU tar) 1.27.1" na minha máquina Linux, parece que o Comando Geral BSD do mac (versão não GNU) não suporta esta opção.