!!
이전 명령을 재사용하는 명령이 있다는 것을 알고 있습니다 . 이전 명령에 지정된 파일이나 디렉터리를 재사용하면서 다른 명령을 사용하려면 어떻게 해야 합니까?
예: 파일의 내용을 보고 필요한 경우 삭제하고 싶습니다. 그것은 다음과 같습니다:
$ cat example.txt
"output indicates deletion"
$ rm !!
답변1
$ echo foo
foo
$ bar !!:$
bar foo
The program 'bar' is currently not installed...
답변2
당신은 그것을 사용할 수 있습니다 :
rm
Esc.-rm
힐을 입력 Space한 후 Esc힐을 누릅니다 .(동시에 누르지는 않음). 이전 명령에 인수가 없으면 이전 명령 자체를 가져옵니다.rm
Alt+ .- 를 입력한rm
다음 및 (동시에)를 Space누릅니다 . 실제로 이 방법을 사용하고 를 놓지 않고 계속 누르면 기록에서 각 명령의 마지막 인수를 얻을 수 있습니다. 명령에 매개변수가 없으면 명령 자체를 가져옵니다.Alt..Altrm !*
- 이 경우 이전 명령의 모든 매개변수를 가져옵니다. 이전 명령에 매개변수가 없으면 아무것도 얻지 못합니다.
일반적으로 말하자면: <command>
Esc.또는 <command>
Alt+ .또는 <command> !*
.
답변3
이 모든 것이 당신이 원하는 것을 달성할 것입니다:
rm !$
!$
마지막 명령의 마지막 매개변수를 나타냅니다 .
rm!:1
!:1
마지막 명령의 매개변수 1을 나타냅니다. 여기서 명령 자체는 매개변수 0입니다. 이 방법으로 마지막 명령에서 개별 매개변수를 선택할 수 있습니다.
^cat^rm^
문자열을 cat
이전 명령의 문자열로 바꾸고 rm
결과를 실행합니다. ^
이 간단한 예에서는 실제로 마지막 항목을 생략할 수 있습니다.
rm !*
이것은 rm
계속 실행됩니다모두마지막 명령의 비명령 매개변수. 따라서 매개변수는 1부터 까지입니다 $
. 이 변형과 마지막 매개변수는 마지막 명령에 여러 매개변수가 있는 경우 유용합니다.