내 화면에 마지막 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_history
ZSH 확장 기록을 사용하고 메타 데이터가 포함되어 있으므로 파일을 직접 사용할 수 없습니다 .
답변1
fc -R
기록 파일을 강제로 읽으려면 를 추가하고 삭제해야 합니다 .-1
#!/bin/zsh --login
#history | tail -n 25 > /tmp/history.txt
export HISTFILE=~/.zsh_history
fc -R
fc -l -20