나는 종종 동일한 파일에 대해 다른 명령을 실행합니다. 예를 들어:
$ youtube-dl aB54c4p0eo #I made this video id up on the spot
$ mv aB54c4p0eo.flv kittens.flv
$ vlc kittens.flv
$ rm kittens.flv
다시 작성할 필요가 없도록 이전 명령의 매개변수를 현재 명령에서 재사용할 수 있는 방법이 있습니까?
답변1
alt-.
물론 괜찮습니다. 그러나 원하는 번호가 매겨진 인수 (이전 명령의 번째 인수) 를 이미 알고 있다면 더 빠르게 진행할 수 있습니다 !:n
.n
이것을 마법의 공간과 결합하는 것이 종종 도움이 됩니다. 이 기능을 활성화하려면 .inputrc 를 입력하세요 Space: magic-space
. 이 기능이 활성화되면 뒤에 공백을 입력하면 !:2
Enter 키를 누르는 것을 기다리지 않고 즉시 해당 값으로 확장됩니다. 실수로 잘못된 인수를 포착하지 않도록 하세요.
답변2
Bash에서는 단축키 Alt
+ 를 사용할 수 있습니다 .
.
한 번 클릭하면 마지막 매개변수가 제공됩니다. 더 클릭하면 최종 인수가 순환됩니다.
답변3
Bash에서 "이전 명령줄의 마지막 단어"에 대한 표시는 다음과 같습니다 !!$
.
$ echo hello world
hello world
$ echo goodbye !!$
echo goodbye world # this is bash echoing actual cmd line before execution
goodbye world
"캐럿 구문"을 사용하여 바꿀 수도 있습니다.초기의명령줄의 일부입니다. 동일한 파일에서 여러 명령을 실행하려는 경우 편리합니다.
file file.dat
^file^ls -l^ #gives `ls -l file.dat`
^ls -l^stat # gives `stat file.dat`
더 많은 가능성이 있습니다. "역사 교체"를 참조하세요.bash(1) 매뉴얼 페이지더 알아보기.
답변4
상대적으로 느린 방법은 이전 명령을 호출하는 것입니다.↑이전 명령을 새 명령으로 바꿉니다.