입력한 접두사로 시작하는 마지막 명령을 불러오기 위해 bash에서 위/아래를 어떻게 누르나요?
예를 들어
$ ls foo
$ echo hello
$ ls <UP_ARROW>
ls를 입력하고 UP을 클릭하면 "echo hello" 대신 "ls foo"가 표시되어야 합니다.
답변1
여러 가지 가능성:
바인딩
history-search-backward/forward
명령. 나는 이것이 당신이 원하는 것에 가장 가깝다고 믿습니다.bind '"\e[A":history-search-backward' bind '"\e[B":history-search-forward'
히스토리 i-검색을 이용해보세요. 이것은 아마도 불가피할 것이다
^R
. 빈 줄에 있으면^Rls<space>
로 다시 돌아가서 이전의 마지막 명령(또는 줄의 다른 명령) 으로 다시 돌아ls foo
갑니다 .^R
ls
ls
ls foo
바인딩
magic-space
명령:bind SPACE:magic-space
.then (빈 줄에)을 입력하면!ls<space>
readline이 자동으로 기록 교체를 수행하고ls foo
.