ZSH 스크립트에서 History/fc를 호출하는 방법

ZSH 스크립트에서 History/fc를 호출하는 방법

내 화면에 마지막 X(20) 명령을 표시하는 GeekTool용 스크립트를 작성하려고 합니다.

파일을 표시하거나 쉘 명령의 출력을 사용할 수 있습니다(선호됨).

문제는 스크립트에서 명령을 실행할 때 ~/bin/update_history_file.sh:fc:5: no such event: 0오류가 발생한다는 것입니다.

내 스크립트 파일은 다음과 같습니다

#!/bin/zsh --login
#history | tail -n 25 > /tmp/history.txt

export HISTFILE=~/.zsh_history 
fc -l -20 -1

fc명령은 쉘에서 실행하면 작동합니다. 그러나 스크립트에서 실행하면 실패합니다. 기록 파일을 읽을 수 없는 것과 관련이 있다고 생각하지만 이에 대한 확인은 없습니다.

.zsh_historyZSH 확장 기록을 사용하고 메타 데이터가 포함되어 있으므로 파일을 직접 사용할 수 없습니다 .

답변1

fc -R기록 파일을 강제로 읽으려면 를 추가하고 삭제해야 합니다 .-1

#!/bin/zsh --login
#history | tail -n 25 > /tmp/history.txt

export HISTFILE=~/.zsh_history 
fc -R
fc -l -20

관련 정보