zsh 中的命令替换
Command substitution in zsh
我正在尝试在 zsh 中使用简单的命令替换 cd
到另一个命令的输出(which
和 dirname
)。
which git
→ /usr/bin/git
符合预期;
dirname $(which git)
→ /usr/bin
符合预期;
cd $(dirname $(which git))
→cd: no such file or directory: ^[[0m^[[0m/usr/bin
这里发生了什么? ^[[0m
是什么,为什么突然出现?
删除 ~/.zshrc
中的这一行修复了它:
trap 'printf "\e[0m" "$_"' DEBUG
我正在尝试在 zsh 中使用简单的命令替换 cd
到另一个命令的输出(which
和 dirname
)。
which git
→/usr/bin/git
符合预期;dirname $(which git)
→/usr/bin
符合预期;cd $(dirname $(which git))
→cd: no such file or directory: ^[[0m^[[0m/usr/bin
这里发生了什么? ^[[0m
是什么,为什么突然出现?
删除 ~/.zshrc
中的这一行修复了它:
trap 'printf "\e[0m" "$_"' DEBUG