Je ne connais que deux façons: alias foo=baret function foo() { bar }.
La raison pour laquelle je pose la question est que - tout d'un coup dans l'une de mes sessions bash - je ne peux pas exécuter la lncommande car bashje fais une erreur avec -bash: /usr/local/.../ln: No such file or directory(où /usr/local/.../est l'une des entrées de ma PATHvariable d'environnement).
Ce n'est pas un PATHproblème cependant, car si je l'exécute, which lnil génère le binaire attendu de /usr/bin/ln(que je peux exécuter correctement si je spécifie le chemin absolu).
J'ai également vérifié pour lnmes aliaset functiondéclarations, et il n'y a rien:
$ declare -f | grep ln
$ alias | grep ln
Le problème se produit uniquement dans une session bash. Si je démarre un nouveau shell, cela fonctionne à nouveau correctement, mais je veux savoir ce qui a causé ce problème tout à coup dans cette session particulière de bash.
Des idées sur ce qui pourrait être à l'origine de cela?
type lnj'obtiensln is hashed (/usr/local/.../ln)ce qui semble être le problème, mais qu'est-ce que cela signifie exactement que c'est "haché"? Je n'ai jamais entendu parler de cette fonctionnalité dans bash.