Немного опоздал, вопрос «Как избежать открытия файлов без терминала в терминале» устарел. Тем не мение:
Вышеуказанные решения включают изменение существующих правил, что может иметь нежелательные побочные эффекты. Я считаю, что проще всего использовать существующие правила для файлов без типов и изменения прав доступа к файлам, чтобы получить желаемый результат.
В частности: Отключите исполняемый бит в файле, потому что это то, что говорит файловой службе открываться с терминалом с «chmod -x filename», где filename - это имя файла.
Это может быть автоматизировано до некоторой степени (с осторожностью): в моем случае у меня много файлов README на машине. Я могу использовать «найти», чтобы найти все файлы «README». А затем используйте «awk» для создания команды для удаления исполняемого бита на всех из них следующим образом:
find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }'
введите это в терминал, если вы хотите проверить, какие файлы будут изменены: вывод будет состоять из списка для каждого найденного файла README, который выглядит примерно так:
chmod -x //Users/jimpsmith/things/README
И чтобы изменить все эти разрешения, выполните все эти строки, назначив bash следующим образом:
find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }' | bash
Просто остерегайтесь слишком широкого использования подстановочных знаков и обнаружение, что вы случайно удалили исполняемый бит из некоторых исполняемых файлов, которые ошибочно совпадают.
Более простой способ - просто бежать
find /$HOME -iname 'README' -exec chmod -x '{}' \;`
или (чтобы увидеть, что произойдет)
find /$HOME -iname 'README' -exec echo chmod -x '{}' \;`