Consegui fazer isso funcionar no Sierra 10.12.3 no Automator.
Primeiro, criei esta versão do script: Funciona da mesma forma que o freefly42, apenas uma maneira diferente de escrever a mesma coisa.
Para traduzir para falantes do bash não nativos, o que ele faz é:
Se executado com um argumento de linha de comando, ele tenta ver se o argumento é um diretório e se esse diretório contém um arquivo chamado ".disable_osx_metadata".
Se o arquivo especial não estiver lá, nada acontecerá. Essa unidade é ignorada.
Se o arquivo especial estiver lá, o script excluirá todos os metadados do osx e criará alguns pequenos itens novos que impedirão qualquer outra coisa. Por exemplo, a criação de um arquivo chamado .Trashes impede que o sistema operacional crie um diretório chamado .Trashes e, em seguida, grave arquivos nele.
Se executado sem argumentos, ele será executado uma vez para cada diretório em / Volumes.
Portanto, se você executá-lo manualmente ou clicar nele, ele verifica todas as unidades conectadas. Se você criar um fluxo de trabalho no Automator, o Automator executará sempre que uma unidade estiver conectada, apenas para essa unidade.
#!/bin/bash
x=.disable_osx_metadata
[[ "$1" ]] || exec find /Volumes -type d -maxdepth 1 -mindepth 1 -exec $0 {} \;
[[ -e "$1/$x" ]] || exit 0
mdutil -i off "$1"
rm -rf "$1"/.{,_.}{fseventsd,Spotlight-V*,Trashes}
mkdir "$1/.fseventsd"
touch "$1/.fseventsd/no_log" "$1/.Trashes" "$1/$x"
Salve como "disable_osx_metadata", chmod 755, copie para / usr / local / bin.
$ cd Documents/disable_osx_metadata/
$ chmod 755 disable_osx_metadata
$ sudo cp disable_osx_metadata /usr/local/bin
Em seguida, abra Automator, New, Folder Action
Então eu descobri que, mesmo no Sierra 10.12.3, você ainda pode adicionar o diretório / Volumes no Automator, de uma maneira não óbvia.
Vá para o Finder, File, "Go To Folder ...", escreva manualmente em "/ Volumes" e pressione Enter.
Agora isso mostra uma janela com suas unidades HD e USB, mas nenhuma pasta "/ Volumes" óbvia para clicar. Mas a barra de título diz "/ Volumes" e também aparece na parte inferior.
Você pode arrastar o ícone da pasta ao lado de "/ Volumes", da barra de título ou da parte inferior, para o Automator e soltá-lo em "A ação da pasta recebe arquivos e pastas adicionados a: [______]"
Feche o Finder.
De volta ao Automator: à esquerda, role para baixo e arraste "Obter conteúdo da pasta" para a direita e solte-o.
Em seguida, à esquerda novamente, role para baixo e arraste "Executar script de shell" para a direita e solte-o abaixo de "Obter conteúdo da pasta".
Altere "Passar entrada:" para "como argumentos". Shell: [/ bin / bash] Passe a entrada: [como argumentos]
Em seguida, arraste o script de / usr / local / bin para a caixa em "Executar script do shell", para que ele diga "/ usr / local / bin / disable_osx_metadata"
Arquivo, salvar, desativar_osx_metadata.workflow
Para referência, isso é salvo em:
/ Usuários / YOUR_NAME / Biblioteca / Fluxos de trabalho / Aplicativos / Ações de pasta
Se você salvar algo errado, acho que você deve navegar manualmente lá no Finder para excluí-lo.
Finalmente, para cada nova unidade USB que você deseja proteger, é necessário criar um arquivo chamado ".disable_osx_metadata" na pasta raiz.
Você pode fazer isso no Terminal: $ touch / Volumes / NO \ NAME / .disable_osx_metadata
Ou apenas mantenha um pequeno arquivo de texto com um nome visível (sem ponto inicial) e copie-o para a raiz de qualquer nova unidade USB e renomeie-o como .disable_osx_metadata após a cópia.
Essa unidade agora é limpa sempre que você a anexar a partir de agora.
Não é tão limpo quanto eu gostaria. Você precisa poluir um pouco a unidade, para dizer ao sistema operacional para não poluí-la mais. Parece que não há como fazer com que o SO simplesmente o deixe em paz e não adicione nenhum arquivo que você não pediu.
TODO: adicione funções de habilitar / desabilitar para criar / remover o arquivo de ponto.
TODO: Isso não impede os arquivos .DS_Store em todos os diretórios.
TODO: É possível empacotar o script e o arquivo foo.workflow para que um usuário possa pular a maioria dessas instruções manuais? Vejo que existe uma opção de "exportação" no Automator que cria algum tipo de arquivo de pacote.
TODO: Possivelmente obsoleto todo esse post. Esse fluxo de trabalho do AppleScript + Automator pode ser melhor:
https://superuser.com/questions/319553/does-anyone-have-a-mac-terminal-script-to-remove-hidden-files/814104#814104