기록 보기HistoryExtended

기록 보기HistoryExtended

기록에서 호출하는 대신 기록 확장 명령을 다시 작성해야 합니다.

예를 들어 다음 명령에서 35를 36, 37, 38....로 변경해야 합니다.

$ print -P '\033[35mThis is the same red as in your solarized palette\033[0m'
$ !!:gs/35/36

이제 해야 할 일!!:gs/36/37

Up그러나 열쇠를 사용할 때 . 표시되지 않습니다 $ !!:gs/35/36. 보여주다print -P '\033[35mThis is the same red as in your solarized palette\033[0m'

여기서 무엇을 할 수 있나요?

답변1

원하는 것을 달성할 수 있는 방법에 대한 두 가지 제안이 있습니다(참고용 bash).

역사에 추가하세요

첫 번째 기록 확장 명령줄을 입력하기 전에 기록 확장( set +H)을 비활성화하고 기록 확장 명령을 "실행"한 다음 다시 활성화를 사용할 수 있습니다 set -H. 그런 다음 이는 쉘 기록의 일부가 되며 쉽게 돌아가서 수정할 수 있습니다.

쉘 기록에서 기록 확장 명령줄을 얻는 보다 직접적인 방법은 입니다 history -s. 그러나 이전 조언이 기억하기 더 쉬울 수도 있습니다(복잡한 인용의 경우 더 쉬울 수도 있음)(셸 옵션에 대한 친숙도에 따라 다름).

라인 풀인 읽기

이는 전체 작업 중에 저크를 할 필요가 없을 때 가장 유용합니다.

기록 확장 명령줄을 입력하고 를 누르지 마십시오 Enter. 대신 줄의 시작/끝으로 이동하여 Ctrl- K/ Ctrl-를 사용하여 전체 줄을 삭제하세요 U. 이것은 전체 라인을 킬링 링에 넣습니다. Ctrl-restore line 을 사용할 수 있습니다 Y. 명령을 실행한 후에도 킬 링에 다른 것을 넣지 않는 한 이 방법으로 되돌릴 수 있습니다. 그럼에도 불구하고 Ctrl- Y Alt-를 사용하여 이전 킬링 항목으로 돌아갈 수 있습니다 Y.

답변2

터미널은 사용자가 전체 명령을 입력했다고 생각하기 때문에 이 출력을 표시합니다. 예: 입력하면 표시됩니다 pacman -S vim .error: you cannot perform this operation unless you are root.

따라서 sudo !!비밀번호를 입력하기 전에 입력하면 다음 줄이 표시됩니다.sudo pacman -S vim

그냥 스크린샷

관련 정보