해시 명령 문서는 어디에 있습니까?

해시 명령 문서는 어디에 있습니까?

내가 입력하는 동안 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 -rhash는 에서 사용되는 현재 경로 해시를 재설정하는 표준화된 쉘 내장 함수입니다 PATH.

hash -r그러나 변경 사항이 현재 명령 해시를 자동으로 재설정하므로 설정 후에 호출할 필요가 없습니다 . 이것은 사실이고 다른 쉘도 같은 방식으로 작동할 것으로 기대합니다.PATHPATHBourne Shellksh

관련 정보