Я знаю лише два способи: alias foo=barі function foo() { bar }.
Причина, про яку я запитую, полягає в тому, що - раптом на одному з моїх сеансів bash - я не можу запустити lnкоманду, тому що bashпомиляється з -bash: /usr/local/.../ln: No such file or directory(де /usr/local/.../є одна із записів у моїй PATHзмінній оточення).
Це не PATHпроблема, тому що якщо я запускаю, which lnвін виводить очікуваний двійковий код /usr/bin/ln(який я можу виконати добре, якщо вкажу абсолютний шлях).
Я також перевірив lnу своїх aliasі functionдеклараціях, і нічого немає:
$ declare -f | grep ln
$ alias | grep ln
Проблема виникає лише за один баш-сеанс. Якщо я запускаю нову оболонку, вона знову справно працює, але я хочу знати, що спричинило цю проблему раптом у цьому конкретному сеансі баш.
Будь-які ідеї щодо того, що може бути причиною цього?
type lnя отримуюln is hashed (/usr/local/.../ln)проблему, але що це означає, що це "хеш"? Я ніколи не чув про цю особливість в басі.