난 단지 두 가지 방법을 알고 : 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
하나의 bash 세션에서 문제가 발생했습니다. 새로운 쉘을 시작하면 다시 정상적으로 작동하지만이 특정 bash 세션 에서이 문제를 일으킨 원인을 알고 싶습니다.
이 문제를 일으킬 수있는 아이디어가 있습니까?
type ln
내가 할ln is hashed (/usr/local/.../ln)
문제로 나타나는,하지만은 그것은 "해시"의 정확한 의미는 무엇입니까? 나는 bash에서 그 기능에 대해 들어 본 적이 없다.