명령 또는 스텁 / 줄기를 기반으로 쉘 히스토리를 스크롤 하시겠습니까?


0

내 무지를 용서해주세요 .... OS X와 ​​Linux의 Bash에서 명령의 역사를 가지고 있습니다. 때로는 명령에 따라 항목으로 돌아가고 싶습니다. 예를 들어, 이전에 다음을 입력했다고 가정하십시오.

make distclean && make dist && cp *.diff *.tar.gz ../

그런 다음 히스토리에서 수십 또는 수백 개의 명령을 수행한다고 가정하십시오.

기록에서 해당 명령으로 돌아 가기 위해 make위쪽 화살표 ( ) 또는 제어 및 위쪽 화살표 ( )를 어떻게 입력 하고 사용할 수 있습니까?CTRL

"스텁"또는 "줄기"는 "make"가 아니라 "ma"만 입력 함을 의미합니다.

나는 Linux와 OS X 모두에서 Bash에서 일하기 때문에 두 운영 체제 모두에 관심이 있습니다.


1
하려는 작업 : Ctrl-R을 입력 make한 다음 Ctrl-R다시 실행할 make 명령을 찾을 때까지 누르 십시오.
glenn jackman

@ 글렌-대답해야합니다. 방금 CTRL + R이 두 가지 모두에서 작동하는지 확인했습니다. (그것의 우아하지 내가 좋아하는 것,하지만 잘 작동한다. 어떤 이유로, 내가 입력 할 수 있다고 생각 make하고, CTRL+ ).
jww

물고기 쉘 이 작업을 수행 / 아주 / 잘하지만, bash는 없습니다. 나는 bash 매뉴얼을 읽고 다양한 히스토리 메커니즘을 배우는 데 약간의 시간이 걸릴 것을 권장한다
glenn jackman

답변:


2

또는 Ctrl-Rhistory 명령을 사용하여 grep특정 명령에 파이프 할 수 있습니다 .

$ history | grep vi 
    7  vi /etc/shells
    8  sudo vi /etc/shells

여기에서 히스토리 번호를 볼 수 있으며를 사용하여 해당 명령을 다시 실행할 수 있습니다 !number.

$ !8
sudo vi /etc/shells
Password:

그리고 명령 내역을 작성하거나 정리하지 않는 한 그 숫자는 동일하게 유지되어야합니다.


2

다음은 이전 명령을 기반으로 명령을 반복하는 데 유용한 몇 가지 유용한 트릭입니다 ( Ctrl+ 사용 제외 R).

  • !name이름으로 시작하는 마지막 명령을 반복 하는 데 사용하십시오 . 예 :

    !make
  • 명령을 반복하려면 (예 :로 sudo) 다음을 사용하십시오.

    sudo !!
  • 인수를 반복하려면 !$다음을 사용하십시오 .

    ls /usr/local/bin
    cd  !$
  • 마지막 인수에서 파일을 편집하려면 다음을 사용하십시오 !^.

     cp /etc/hosts hosts.bak
     vim !^

: 더보기 귀하의 명령 줄 생산성 향상을위한 배쉬 역사를 사용하는 방법을

참조 : 좋아하는 명령 줄 기능이나 트릭은 무엇입니까? 유닉스 SE에서


부수적으로, 당신이 오타를 너무 자주하는 경우에는을위한 응용 프로그램입니다 :


1

정확히 수행 하는 readline(not bash) 기능이 있습니다. 추가 :

"\e[A":history-search-backward
"\e[B":history-search-forward

당신에 .inputrc파일.
달리 Ctrl-r그것은 단지 접두사에 일치합니다. 자세한 내용 은 .inputrc 를 사용 하여 가장 중요한 명령 줄 팁-증분 기록 검색 을 참조하십시오.


그것은 유망한 것처럼 보입니다 ( + "\e[A"와 같다고 가정 ). 불행히도 OS X 또는 Linux가 없습니다. OS X에 추가 한 다음 소스를 제공하면 결과가 발생했습니다 . CTRL.inputrc.bash_profile-bash: \e[A:: command not found
jww

readline 옵션을 사용 bash하지 않는 한 히스토리를 처리하는 데 사용되는 라이브러리 --noediting입니다. 자체 구성 파일, 일반적으로 ~/.inputrc(사용자), /etc/inputrc(전역) 또는 INPUTRC변수에 선언 된 파일이 있습니다. 에 대한 전체 부분이 있습니다 readlinebash매뉴얼 페이지. 몇 가지 흥미로운 구성 옵션이 있습니다
bwt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.