Nieco później pytanie „Jak uniknąć otwierania plików bez typu w terminalu” jest nieco stare. Jednak:
Powyższe rozwiązania obejmują zmianę istniejących zasad, które mogą mieć niepożądane skutki uboczne. Uważam, że najłatwiej jest wykorzystać istniejące reguły dla plików bez czcionek i zmienić uprawnienia do plików, aby uzyskać pożądany rezultat.
W szczególności: wyłącz bit pliku wykonywalnego w pliku, ponieważ właśnie to powoduje, że usługa plików ma otwierać się przy użyciu terminala z „chmod -x nazwa pliku”, gdzie nazwa pliku to… nazwa pliku.
Można to do pewnego stopnia zautomatyzować (ostrożnie): w moim przypadku mam wiele plików README na komputerze. Mogę użyć „znajdź”, aby znaleźć wszystkie pliki „README”. A następnie użyj „awk”, aby skonstruować polecenie usunięcia bitu wykonywalnego na wszystkich z nich w następujący sposób:
find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }'
wpisz to w terminal, jeśli chcesz sprawdzić, które pliki zostaną zmienione: Dane wyjściowe będą składały się z listy dla każdego znalezionego pliku README, wyglądającego mniej więcej tak:
chmod -x //Users/jimpsmith/things/README
Aby zmienić wszystkie te uprawnienia, wykonaj wszystkie te wiersze, pobierając opłaty za bash w następujący sposób:
find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }' | bash
Uważaj tylko na zbyt swobodne używanie symboli wieloznacznych i stwierdzenie, że przypadkowo usunąłeś bit wykonywalny z niektórych plików wykonywalnych, które błędnie pasują.
Łatwiejszym sposobem byłoby po prostu biec
find /$HOME -iname 'README' -exec chmod -x '{}' \;`
lub (aby zobaczyć, co by się stało)
find /$HOME -iname 'README' -exec echo chmod -x '{}' \;`