더북(TheBook)

Note ≣ 명령 히스토리 표현식은 명령 히스토리에 저장되지 않는다

앞서 설명했듯이 명령 히스토리에는 입력된 명령이 평가되지 않은 표현식 그대로 저장된다. 이 규칙의 한 가지 예외가 히스토리 확장이다. 히스토리 표현식은 평가된 값이 명령 히스토리에 저장된다.

$ ls                      # 아무 명령이나 실행한다 
hello.txt
$ cd Music                # 또 다른 명령을 실행한다
$ !-2                     # 히스토리 확장을 사용한다
ls
song.mp3
$ history                 # 명령 히스토리를 확인한다
  1000 ls
  1001 cd Music
  1002 ls                 # '!-2' 대신 'ls'가 히스토리에 저장됐다
  1003 history

잘 생각해보면 이러한 처리가 이치에 맞다. !-15!-92처럼 히스토리의 다른 항목을 참조하는 표현식으로 가득한 명령 히스토리를 상상해보자. 그와 같은 경우라면, 명령 하나를 확인하는 데도 몇 페이지 이상의 히스토리를 거슬러 올라가야 할 수도 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.