Conosco solo due modi: alias foo=bar
e function foo() { bar }
.
Il motivo per cui lo sto chiedendo è che - all'improvviso in una delle mie sessioni bash - non riesco a eseguire il ln
comando perché si bash
sta verificando un errore -bash: /usr/local/.../ln: No such file or directory
(dove /usr/local/.../
è una delle voci nella mia PATH
variabile di ambiente).
PATH
Tuttavia, non è un problema, perché se eseguo which ln
restituisce il file binario previsto /usr/bin/ln
(che posso eseguire correttamente se specifica il percorso assoluto).
Ho anche verificato la ln
mia alias
e le function
dichiarazioni, e non c'è nulla:
$ declare -f | grep ln
$ alias | grep ln
Il problema si sta verificando in una sessione bash. Se avvio una nuova shell, funziona di nuovo bene, ma voglio sapere cosa ha causato questo problema all'improvviso in questa particolare sessione di bash.
Qualche idea su cosa potrebbe causare questo?
type ln
vedoln is hashed (/usr/local/.../ln)
quale sembra essere il problema, ma cosa significa esattamente che è "hash"? Non ho mai sentito parlare di quella caratteristica in Bash.