我在一个文件中有以下内容来自~/.zshrc
:
# Starship prompt
cp -f ~/.config/starship.toml ~/.config/starship-zsh.toml
export STARSHIP_CONFIG="$HOME/.config/starship-zsh.toml"
starship config character.success_symbol "[%](white)"
starship config character.error_symbol "[%](bold red)"
eval "$(starship init zsh)"
这样一来,我只需要为 bash 和 zsh 更新一个 starship 配置文件,但仍然有不同的提示字符。
登录时,系统询问我是否可以覆盖现有文件。这不会发生在我将上面的行放在.zshrc
自己身上,但它会发生在这个源自.zshrc
. 我有这样的文件,因为只有在安装了一组特定的软件包时才会有条件地获取该文件。
我可以通过先删除文件来解决这个问题,但我想知道为什么即使在切换时也会发生这种情况-f
。
您可能有一个别名或包装函数,它设置了一些覆盖
-f
. 用于\command cp
强制直接使用命令,绕过函数和别名。(领先的
\
是你有类似alias command='command '
设置的不太可能的情况。)