함수 내에서 기록의 마지막 명령에 액세스합니다.

함수 내에서 기록의 마지막 명령에 액세스합니다.

현재 터미널에서 이전 명령부터 마지막 ​​명령까지 에코하는 함수를 만들려고 합니다. 이것은 예상되는 출력입니다(여기에서는 이를 원하는 함수라고 부릅니다 f).

$ history 1
history 1
$ f
history 1

부가 질문: history(1)현재 터미널의 기록은 어디에 저장되어 있나요? 터미널 세션이 끝나면 기록은 일반적으로 $HISTFILE(제 경우에는 ~/.bash_history)에 저장된다는 것을 알고 있습니다. 그런데 history(1)현재 실행중인 터미널의 이력이 어디에 있는지 알고 싶습니다 .

답변1

해결책을 찾았습니다.

f()(echo $(history 2 | head -n1 | cut -d' ' -f2-))

fc또는 G-Man이 제안한 대로 사용하십시오.

f()(fc -ln -1)

시험:

$ echo 123*
123*
$ f
echo 123*

관련 정보