내가 입력하는 동안 man hash
표시됩니다 man builtin
.
나는 이 줄을 이해하려고 노력하고 있습니다.
hash -r 2>/dev/null || true
해야 할 일과 hash -r
반환할 항목.
문맥:
export PATH="$PWD/bin:$PATH"
hash -r 2>/dev/null || true
https://github.com/rbenv/rbenv/wiki/Understanding-binstubs#adding-project-specific-binstubs-to-path
답변1
hash
쉘이 내장되어 있습니다.
을(를) 사용하는 경우 다음을 bash
확인하세요.
help hash
귀하의 편의를 위해 다음과 같습니다.
해시: 해시 [-lr] [-p 경로 이름] [-dt] [이름...]
Remember or display program locations. Determine and remember the full pathname of each command NAME. If no arguments are given, information about remembered commands is displayed. Options: -d forget the remembered location of each NAME -l display in a format that may be reused as input -p pathname use PATHNAME as the full pathname of NAME -r forget all remembered locations -t print the remembered location of each NAME, preceding each location with the corresponding NAME if multiple NAMEs are given Arguments: NAME Each NAME is searched for in $PATH and added to the list of remembered commands. Exit Status: Returns success unless NAME is not found or an invalid option is given.
다른 쉘의 경우 내장 기능의 공통 위치를 확인하십시오. 예를 들어 zsh
다음을 확인하세요.
man zshbuiltins
hash -r이 수행하는 작업과 반환되는 작업
hash -r
해시 테이블에서 기억된 모든 위치를 제거하고 성공을 반환합니다.
답변2
hash -r
hash는 에서 사용되는 현재 경로 해시를 재설정하는 표준화된 쉘 내장 함수입니다 PATH
.
hash -r
그러나 변경 사항이 현재 명령 해시를 자동으로 재설정하므로 설정 후에 호출할 필요가 없습니다 . 이것은 사실이고 다른 쉘도 같은 방식으로 작동할 것으로 기대합니다.PATH
PATH
Bourne Shell
ksh