bash 기록 접두사를 민감하게 만드는 방법은 무엇입니까?

bash 기록 접두사를 민감하게 만드는 방법은 무엇입니까?

입력한 접두사로 시작하는 마지막 명령을 불러오기 위해 bash에서 위/아래를 어떻게 누르나요?

예를 들어

$ ls foo
$ echo hello
$ ls <UP_ARROW>

ls를 입력하고 UP을 클릭하면 "echo hello" 대신 "ls foo"가 표시되어야 합니다.

답변1

여러 가지 가능성:

  1. 바인딩 history-search-backward/forward명령. 나는 이것이 당신이 원하는 것에 가장 가깝다고 믿습니다.

    bind '"\e[A":history-search-backward'
    bind '"\e[B":history-search-forward'
    
  2. 히스토리 i-검색을 이용해보세요. 이것은 아마도 불가피할 것이다 ^R. 빈 줄에 있으면 ^Rls<space>로 다시 돌아가서 이전의 마지막 명령(또는 줄의 다른 명령) 으로 다시 돌아 ls foo갑니다 .^Rlslsls foo

  3. 바인딩 magic-space명령: bind SPACE:magic-space.then (빈 줄에)을 입력하면 !ls<space>readline이 자동으로 기록 교체를 수행하고 ls foo.

관련 정보