我的文件中包含以下内容~/.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
开关也会发生这种情况。
答案1
您可能有一个别名或包装函数来设置一些覆盖-f
.用于\command cp
强制直接使用命令,绕过函数和别名。
(前导\
是针对不太可能发生的情况,即您有类似alias command='command '
设置的情况。)