Note ≣ 명령 히스토리 표현식은 명령 히스토리에 저장되지 않는다
앞서 설명했듯이 명령 히스토리에는 입력된 명령이 평가되지 않은 표현식 그대로 저장된다. 이 규칙의 한 가지 예외가 히스토리 확장이다. 히스토리 표현식은 평가된 값이 명령 히스토리에 저장된다.
$ ls # 아무 명령이나 실행한다 hello.txt $ cd Music # 또 다른 명령을 실행한다 $ !-2 # 히스토리 확장을 사용한다 ls song.mp3 $ history # 명령 히스토리를 확인한다 1000 ls 1001 cd Music 1002 ls # '!-2' 대신 'ls'가 히스토리에 저장됐다 1003 history
잘 생각해보면 이러한 처리가 이치에 맞다. !-15나 !-92처럼 히스토리의 다른 항목을 참조하는 표현식으로 가득한 명령 히스토리를 상상해보자. 그와 같은 경우라면, 명령 하나를 확인하는 데도 몇 페이지 이상의 히스토리를 거슬러 올라가야 할 수도 있다.