나는 두 가지 방법만 알고 있습니다: 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 세션에서 갑자기 이 문제를 일으키는 원인이 무엇인지 궁금합니다.
이 문제의 원인에 대한 아이디어가 있습니까?
답변1
이 명령을 사용할 때는 주의하십시오 which
. 명령을 사용하는 것이 좋습니다 type ...
.
$ type ln
ln is /bin/ln
whereis
다음 명령을 사용할 수도 있습니다 .
$ whereis ln
ln: /bin/ln /usr/share/man/man1p/ln.1p.gz /usr/share/man/man1/ln.1.gz