[unix] 여러 히스토리 명령을 다시 실행

방금 십여 개의 명령을 실행했다고 상상해보십시오. 말하다…

$ cd foo/    # history cmd #10000 (my history is very long)
$ ... more commands ...
$ cd ../     # history cmd #10012 

나는 !-12 && !-11 && !-10 && (and so on) && !!그들이 ( 아마도 ) 또는 방금 실행 된 경우에 연결하여 다시 실행할 수 있다는 것을 알고 !10000 && !10001 && !10002 && (and so on)있지만, 각 기록 번호를 뱅 및 앰퍼샌드로 수동 입력하는 것보다 간단한 방법이 있습니까?

내가 bash에서 알지 못하는 종류의 것이 있습니까?

예를 들어, !{10000-10012}# 이런 식으로 만 작동합니다.



답변

이것이 fc명령의 목적입니다.

fc -12 -1

또는

fc 10000 10012

이것은 편집기를 먼저 시작하므로 원하는 것은 아니지만, 올바른 명령이 있는지 다시 확인하고 즐겨 사용하는 편집기의 모든 기능을 사용하여 편집 할 수 있기 때문에 아마도 좋은 일입니다. 변경 사항을 저장하고 편집기를 종료하면 명령이 실행됩니다.


답변