我在一个文件中有以下内容,该文件来自~/.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更新一个星舰配置文件,但每个配置文件仍然有一个不同的提示字符。
登录时,有人问我是否可以覆盖现有文件。这在我把上面的行放在.zshrc本身时没有发生,但是在这个来自.zshrc的文件中是这样的。我这样做,因为这个文件是有条件的来源,只有当某一组软件包已经安装。
我可以先删除文件来解决这个问题,但是我想知道为什么即使在-f开关中也会发生这种情况。
发布于 2023-04-29 03:54:37
您可能有一个别名或包装器函数,它设置了一些覆盖-f效果的选项。使用\command cp强制直接使用命令,绕过函数和别名。
(领先的\适用于不太可能出现的类似于alias command='command '集的情况。)
https://unix.stackexchange.com/questions/744420
复制相似问题