Agak terlambat, pertanyaan "Bagaimana cara menghindari membuka file yang tidak ada dalam terminal" menjadi agak lama. Namun:
Solusi di atas melibatkan mengubah aturan yang ada, yang dapat memiliki efek samping yang tidak diinginkan. Saya menemukan yang paling mudah adalah dengan mengeksploitasi aturan yang ada untuk file tanpa tipe dan mengubah izin file untuk mendapatkan hasil yang saya inginkan.
Secara khusus: Matikan bit yang dapat dieksekusi pada file, karena itulah yang memberitahu layanan file untuk membuka dengan terminal dengan "chmod -x nama file" di mana nama file ... nama file.
Ini bisa otomatis sampai batas tertentu (dengan hati-hati): Dalam kasus saya, saya memiliki banyak file README pada mesin. Saya dapat menggunakan "find" untuk menemukan semua file "README". Dan kemudian gunakan "awk" untuk membangun perintah untuk menghapus bit yang dapat dieksekusi pada mereka semua sebagai berikut:
find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }'
ketik itu ke terminal jika Anda ingin memeriksa file apa yang akan diubah: Output akan terdiri dari daftar untuk setiap README ditemukan terlihat seperti ini:
chmod -x //Users/jimpsmith/things/README
Dan untuk mengubah semua izin tersebut jalankan semua baris ini dengan memberi biaya kepada bash sebagai berikut:
find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }' | bash
Berhati-hatilah untuk menggunakan wildcard terlalu bebas dan mendapati Anda secara tidak sengaja menghapus bit yang dapat dieksekusi dari beberapa executable yang keliru cocok.
Cara yang lebih mudah adalah dengan menjalankannya
find /$HOME -iname 'README' -exec chmod -x '{}' \;`
atau (untuk melihat apa yang akan terjadi)
find /$HOME -iname 'README' -exec echo chmod -x '{}' \;`