Se você olhar para a manpage de tar
, você verá:
-X, --exclude-from FILE
exclude patterns listed in FILE
O documento info fornece mais detalhes.
Portanto, list
precisa ser uma lista de padrões, não nomes de arquivos. Um padrão , como normal, significa um padrão curinga da shell. Portanto, no mínimo, *
, [
] e ]
são especiais. Possivelmente {
e }
também.
A documentação também menciona que você pode mudar isso passando --no-wildcards
. Então os nomes serão combinados literalmente, não como padrões. --no-wildcards
precisa ir antes do -X
.
[Este é o tar GNU que eu verifiquei. Outras implementações de alcatrão provavelmente diferem.]