>

일반적으로 chpwd () 훅을 제공하는 zsh를 사용하고 있습니다. 즉, cd 내장에 의해 cwd가 변경되면 zsh는 chpwd () 메소드가있는 경우이를 자동으로 호출합니다. 이를 통해 cwd에 따라 변수 및 별명을 설정할 수 있습니다.

이제 내 .zshrc 비트를 bash로 이식하고 싶지만 chpwd ()가 bash에서 인식되지 않는다는 것을 알았습니다. 비슷한 기능이 이미 bash에 있습니까? CD 재정의가 작동한다는 것을 알고 있지만 (아래 참조)보다 우아한 솔루션을 목표로하고 있습니다.

function cd()
{
    builtin cd [email protected]
    chpwd
}

  • 답변 # 1

    디버그 trap 를 사용해야합니다  또는 PROMPT_COMMAND .

    예 :

    trap chpwd DEBUG        # calls the function before each command
    PROMPT_COMMAND=chpwd    # calls the function after each command
    
    

    PROMPT_COMMAND 에 정의 된 함수  빈 프롬프트라도프롬프트 전에 실행됩니다.

  • 답변 # 2

    맞춤 chpwd 를 정의하는 것이 더 좋은 해결책 일 수 있습니다  훅.

    다른 현대 쉘과 비교할 때 Bash에서 설계된 완벽한 후크 시스템은 없습니다. 와이즈 비즈  변수는 PROMPT_COMMAND 에 해당하는 후크 함수로 사용됩니다.  ZSH, precmd 에 연결  물고기에서. 당분간 ZSH는 fish_prompt 가있는 유일한 쉘입니다.  내장 후크.

    와이즈 비즈 위즈 위즈  배쉬에 연결 chpwd 를 설정하는 트릭이 제공됩니다  

    PROMPT_COMMAND

    If set, the value is interpreted as a command to execute before the printing of each primary prompt ($PS1).

    https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html#Bash-Variables

    를 기반으로 한 Bash의 동등한 후크 .

    chpwd
    
    

    사용법
    chpwd
    
    

    출처 : 내 요지에서 배쉬에 chpwd 등가 후크 만들기

    PROMPT_COMMAND

  • 이전 파이썬 프록시 요청 및 사용자 에이전트
  • 다음 asp.net core - 기존 Razor Pages 앱에 Web Api 권한 추가