Я получил это для работы на Sierra 10.12.3 в Automator.
Во-первых, я сделал эту версию скрипта: он работает так же, как и freefly42, просто по-другому пишет одно и то же.
Чтобы перевести на неродные колонки bash, то, что он делает:
При запуске с аргументом командной строки он пытается определить, является ли аргумент каталогом, и содержит ли этот каталог файл с именем «.disable_osx_metadata».
Если специального файла нет, то ничего не происходит. Этот диск игнорируется.
Если там есть специальный файл, сценарий удаляет все метаданные osx и создает несколько небольших новых элементов, которые запрещают что-либо еще. Например, создание файла с именем .Trashes не позволяет ОС создавать каталог с именем .Trashes и затем записывать туда файлы.
Если запустить без аргументов, он запускается один раз для каждого каталога в / Volumes.
Таким образом, если вы запускаете его вручную или нажимаете на него, он проверяет все подключенные диски. Если вы создаете рабочий процесс в Automator, то Automator запускает его при каждом подключении диска, только для этого диска.
#!/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"
Сохраните как «disable_osx_metadata», chmod 755, скопируйте в / usr / local / bin.
$ cd Documents/disable_osx_metadata/
$ chmod 755 disable_osx_metadata
$ sudo cp disable_osx_metadata /usr/local/bin
Затем откройте Automator, New, Folder Action
Затем я обнаружил, что даже в Sierra 10.12.3 вы МОЖЕТЕ неочевидным образом добавить каталог / Volumes в Automator.
Перейдите в Finder, File, «Go To Folder ...», вручную введите «/ Volumes» и нажмите Enter.
Теперь это показывает окно с вашими жесткими дисками HD и USB, но нет очевидной папки "/ Volumes", по которой можно щелкнуть. Но в строке заголовка написано "/ Volumes", и она также появляется внизу.
Вы можете перетащить значок папки рядом с «/ Volumes», либо из строки заголовка, либо снизу, на Automator, и перетащить его на «Действие папки получает файлы и папки, добавленные в: [______]»
Закрыть Finder.
Вернитесь в Automator: слева прокрутите вниз и перетащите «Получить содержимое папки» вправо и опустите его.
Затем снова слева, прокрутите вниз и перетащите «Run Shell Script» вправо и опустите его ниже «Получить содержимое папки».
Измените «Pass input:» на «в качестве аргументов». Оболочка: [/ bin / bash] Передать ввод: [в качестве аргументов]
Затем перетащите скрипт из / usr / local / bin в поле под «Run Shell Script», чтобы он сказал «/ usr / local / bin / disable_osx_metadata»
Файл, сохранить, отключить_osx_metadata.workflow
Для справки, это сохраняется в:
/ Users / YOUR_NAME / Library / Workflows / Applications / Folder Actions
Если вы сохраните что-то неправильно, я думаю, вам придется вручную перейти в Finder, чтобы удалить его.
Наконец, для каждого нового USB-диска, который вы хотите защитить, вы должны создать файл с именем «.disable_osx_metadata» в корневой папке.
Вы можете сделать это в Терминале: $ touch / Volumes / NO \ NAME / .disable_osx_metadata
Или просто сохраните небольшой текстовый файл с видимым именем (без начальной точки) и скопируйте его в корень любого нового USB-накопителя и переименуйте его .disable_osx_metadata после копирования.
Этот диск теперь очищается каждый раз, когда вы его подключаете.
Не так чисто, как хотелось бы. Вы должны немного загрязнить диск, чтобы сказать ОС не загрязнять его больше. Кажется, нет способа заставить ОС просто оставить ее в покое и не добавлять файлы, которые вы не просили.
TODO: добавить функции включения / выключения для создания / удаления файла точек.
TODO: Это не мешает файлам .DS_Store в каждом каталоге.
ТОДО: Можно ли упаковать скрипт и файл foo.workflow, чтобы пользователь мог пропустить большинство этих инструкций вручную? Я вижу, что в Automator есть опция экспорта, которая создает какой-то файл пакета.
ТОДО: Возможно, устарел весь этот пост. Этот рабочий процесс appleScript + automator может быть лучше:
https://superuser.com/questions/319553/does-anyone-have-a-mac-terminal-script-to-remove-hidden-files/814104#814104