小编nee*_*dle的帖子

zsh_history 文件有问题

我目前正在尝试通过关注此XDG BASE DIRECTORIES 网站来清理我的主目录。

为此,我已存储在我的~/.zshenv

# ---- Default editors ---- #
export EDITOR="nvim"
export VISUAL="nvim"

# ---- XDG BASE DIRECTORY ---- #
# https://wiki.archlinux.org/title/XDG_Base_Directory
export XDG_CONFIG_HOME=${XDG_CONFIG_HOME:="$HOME/.config"}
export XDG_CACHE_HOME=${XDG_CACHE_HOME:="$HOME/.cache"}
export XDG_DATA_HOME=${XDG_DATA_HOME:="$HOME/.local/share"}
export XDG_STATE_HOME=${XDG_STATE_HOME:="$HOME/.local/state"}

# ---- ZSH ---- #
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
export HISTFILE="$XDG_STATE_HOME/zsh/history"
export SHELL_SESSION_DIR="$XDG_STATE_HOME/zsh/sessions"
export SHELL_SESSION_FILE="$SHELL_SESSION_DIR/$TERM_SESSION_ID"
Run Code Online (Sandbox Code Playgroud)

问题是,当 i 时echo $HISTFILE,它给出~/.config/zsh/.zsh_history,这不是我想要的,并且不对应于$XDG_STATE_HOME/zsh/history

我尝试echo $HISTFILE在文件末尾添加~/.zshenv,它给出了~/.local/state/zsh/history,这正是我想要的。但是,如果我echo $HISTFILE在终端中运行,它仍然给出~/.config/zsh/.zsh_history. 所以看起来好像没有使用$HISTFILE其中的集合,我不明白为什么以及如何修复它......~/.zshenv

我觉得可行的解决方案是更改/etc/zprofile文件,但我不喜欢这样做,因为我认为每当我更新计算机软件时,所有这些文件都会被重置(我认为......)。如果情况并非如此,我将在那里修改它们以覆盖$HISTFILE …

command-history zsh macintosh xdg

3
推荐指数
1
解决办法
1911
查看次数

标签 统计

command-history ×1

macintosh ×1

xdg ×1

zsh ×1