Un po 'tardi, la domanda "Come evitare l'apertura di file senza tipo nel terminale" è un po' vecchia. Tuttavia:
Le soluzioni di cui sopra comportano il cambiamento delle regole esistenti, che possono avere effetti collaterali indesiderati. Trovo che il modo più semplice sia sfruttare le regole esistenti per i file senza tipo e modificare i permessi dei file per ottenere il risultato che voglio.
Specificamente: disattiva il bit eseguibile sul file, perché è ciò che dice al servizio file di aprirsi con terminale con "chmod -x nomefile" dove nomefile è ... il nome file.
Questo può essere automatizzato in una certa misura (con cautela): nel mio caso, ho molti file README su una macchina. Posso usare "trova" per trovare tutti i file "README". E poi usa "awk" per costruire un comando per rimuovere il bit eseguibile su tutti loro come segue:
find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }'
scrivilo nel terminale se vuoi controllare quali file verranno modificati: l'output consisterà in un elenco per ogni README trovato simile a questo:
chmod -x //Users/jimpsmith/things/README
E per cambiare tutte queste autorizzazioni, esegui tutte queste linee addebitandole a bash come segue:
find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }' | bash
Fai solo attenzione a utilizzare i caratteri jolly in modo generoso e a scoprire che il bit dell'eseguibile viene rimosso per errore da alcuni file eseguibili che corrispondono erroneamente.
Un modo più semplice sarebbe semplicemente eseguire
find /$HOME -iname 'README' -exec chmod -x '{}' \;'
o (per vedere cosa succederebbe)
find /$HOME -iname 'README' -exec echo chmod -x '{}' \;'