Saya hanya tahu dua cara: alias foo=bar
dan function foo() { bar }
.
Alasan saya bertanya adalah bahwa - tiba-tiba di salah satu sesi bash saya - saya tidak dapat menjalankan ln
perintah karena bash
kesalahan dengan -bash: /usr/local/.../ln: No such file or directory
(di mana /usr/local/.../
adalah salah satu entri dalam PATH
variabel lingkungan saya ).
Ini bukan PATH
masalah, karena jika saya menjalankannya which ln
menghasilkan biner yang diharapkan /usr/bin/ln
(yang bisa saya jalankan dengan baik jika saya menentukan jalur absolut).
Saya juga memeriksa ln
dalam deklarasi saya alias
dan function
, dan tidak ada apa-apa:
$ declare -f | grep ln
$ alias | grep ln
Masalahnya hanya terjadi dalam satu sesi bash. Jika saya memulai shell baru, itu berfungsi dengan baik lagi, tapi saya ingin tahu apa yang menyebabkan masalah ini tiba-tiba dalam sesi bash khusus ini.
Adakah gagasan tentang apa yang menyebabkan hal ini?
type ln
saya mendapatkanln is hashed (/usr/local/.../ln)
yang tampaknya menjadi masalah, tetapi apa artinya persis bahwa itu "hash"? Saya belum pernah mendengar fitur itu di bash.