Znam tylko dwa sposoby: alias foo=bari function foo() { bar }.
Powód, dla którego pytam, jest taki - nagle w jednej z moich sesji bash - nie mogę uruchomić lnpolecenia, ponieważ bashwystępuje błąd -bash: /usr/local/.../ln: No such file or directory(gdzie /usr/local/.../jest to jeden z wpisów w mojej PATHzmiennej środowiskowej).
Nie jest to jednak PATHproblem, ponieważ jeśli uruchomię which ln, wyświetli oczekiwany plik binarny /usr/bin/ln(który mogę uruchomić poprawnie, jeśli podam ścieżkę bezwzględną).
Ja również sprawdzić lnw moich aliasand functiondeklaracji, a nie ma nic:
$ declare -f | grep ln
$ alias | grep ln
Problem występuje tylko w jednej sesji bash. Jeśli uruchomię nową powłokę, to znowu działa dobrze, ale chcę wiedzieć, co spowodowało ten problem nagle w tej jednej sesji bash.
Wszelkie pomysły na to, co może być tego przyczyną?
type ln, rozumiem,ln is hashed (/usr/local/.../ln)co wydaje się być problemem, ale co to znaczy dokładnie, że jest „zakodowane”? Nigdy nie słyszałem o tej funkcji w bash.