Ich kenne nur zwei Möglichkeiten: alias foo=barund function foo() { bar }.
Der Grund, den ich frage, ist, dass ich - plötzlich in einer meiner Bash-Sitzungen - den lnBefehl nicht ausführen kann, weil basher mit -bash: /usr/local/.../ln: No such file or directory(wobei der /usr/local/.../einer der Einträge in meiner PATHUmgebungsvariablen ist) fehlerhaft ist .
Es ist jedoch kein PATHProblem, denn wenn ich es ausführe which ln, wird die erwartete Binärdatei von ausgegeben /usr/bin/ln(die ich gut ausführen kann, wenn ich den absoluten Pfad spezifiziere).
Ich habe auch lnmeine aliasund functionErklärungen überprüft , und es gibt nichts:
$ declare -f | grep ln
$ alias | grep ln
Das Problem tritt nur in einer Bash-Sitzung auf. Wenn ich eine neue Shell starte, funktioniert sie wieder einwandfrei, aber ich möchte wissen, was dieses Problem in dieser einen Bash-Sitzung plötzlich verursacht hat.
Irgendwelche Ideen, was dies verursachen könnte?
type lnbekomme ich,ln is hashed (/usr/local/.../ln)was das Problem zu sein scheint, aber was bedeutet es genau, dass es "gehasht" ist? Ich habe noch nie von dieser Funktion in Bash gehört.