【bash】`!-n$`를 할 수 있다고 그것 더 빨리 말해줘!

!-n!$는 배웠고 잘 들었지만, !-n$ 라든지 할 수 없을까- 할 수 있으면 좋겠다-라도 들은 적 없고, 그런 틈새(?)인 없는가나-라고 생각했지만,
시도해 보면 할 수 있었어! ! !

제대로 된 설명



bash의 내장 명령 history과 관련된 기능으로,
이하는 비교적 유명하게 설명되고 있는 기사도 많을까 생각합니다.
  • !-n에서 "n 회 전 실행 기록"을 참조 할 수 있습니다 (예 : !-2에서 2 회 전)
  • !$에서 "이전 실행 기록의 마지막 인수"를 참조 할 수 있습니다.
  • $ 대신 ^에서 첫 번째 인수를 참조 할 수 있습니다
  • $ 대신 *에서 모든 인수를 참조 할 수 있습니다


  • 이 두 가지를 합친 느낌으로,!-n$ 에서 「n회전의 실행 이력의 마지막 인수」를 참조할 수도 있습니다! ! !

    예:
    $ echo hoge0
    hoge0
    $ echo hoge1
    hoge1
    $ !-2   # 2回前のコマンドを実行
    echo hoge0
    hoge0
    $ echo hoge2
    hoge2
    $ echo !$   # 直前のコマンドの最後の引数を参照
    echo hoge2
    hoge2
    $ echo hoge3
    hoge3
    $ echo !-2$ # 2回前のコマンドの最後の引数を参照
    echo hoge2
    hoge2
    

    이것을 기회로 man bash를 읽어 보았습니다.


  • !-n:x에서 "n 번째 이전 실행 기록의 x 번째 인수"를 참조 할 수 있습니다
  • .
  • !-n:x-y에서 "n 번째 이전 실행 기록의 x 번째에서 y 번째 인수"를 참조 할 수 있습니다
  • .
  • !-n:0에서 "n 회 전 실행 히스토리 명령 (인수없는 명령 이름 단위)"을 참조 할 수 있습니다
  • .
  • 【중요】 마지막으로 :p를 붙이면 전개 결과가 표시되어 최신 기록에 추가되므로 확인하고 !! 또는 위쪽 화살표로 실행할 수 있습니다.


  • 구문은 다음과 같습니다.! {実行履歴(event)指定部} [ : {参照対象(word)指定部} ] [ : {修飾部} ]
  • 참조 대상 지정 부분이 기호 시스템이면 구분 기호 :를 생략 할 수 있습니다.
  • 그 결과, !-n$에서 「n회전의 실행 이력의 마지막 인수」라고 하게 된다

  • 실행 이력 지정 부를 생략하면 직전의 실행 이력이 대상이됩니다.
  • 그 결과, !$로 「직전의 실행 이력의 마지막 인수」라고 하게 된다


  • 결론


  • 「이런 상식이잖아┐(´ー`)┌ 」라고 생각해도, 1년전까지는 win서버용으로 개발하고 있던 사람이므로 용서해 주세요
  • 기호 시스템이 덜컹 거리고 낮은 것이 나쁘다 ()

  • man bash를 읽는 것은 어렵지만 history 이외의 부분도 공부되었습니다

  • 참고



  • 쉘의 명령 내역에서 재사용, 다양한 - 전 RX-7 타기의 적절한 날
  • 옛 기사입니다만, 각 기법·각 옵션의 일본어판이 게재되고 있습니다
  • 이 기사에서 소개 한 것 이외에도 많은 기능이 있으므로 한 번 정도는 눈을 통해 보면 좋을지도 모릅니다


  • !#에 대해서는 별도 기사로했습니다
    【bash】 히스토리 기능에서의 !# 사용법

    좋은 웹페이지 즐겨찾기