zsh - 如何使用 zsh 'command' 选项来执行内置的 'source' 命令?
问题描述
每次我的 shell 获取文件时,我都在尝试记录。我正在使用zsh,所以我进入zshenv并添加了这个功能。
source() {
echo "sourcing $1"
command source $1
}
这个想法是每次“源[文件]”出现在我的一个点文件中并被执行时,它应该首先将操作打印到终端,然后再实际获取文件。
相反,我遇到了一些这样的错误
sourcing /Users/js/.cargo/env
source:2: command not found: source
sourcing /Users/js/.sources/postgres-env.sh
source:2: command not found: source
sourcing /Users/js/.oh-my-zsh/oh-my-zsh.sh
source:2: command not found: source
sourcing /Users/js/.iterm2_shell_integration.zsh
source:2: command not found: source
在这里使用带有 zsh 的 shell 'command' 选项调用 source 的正确方法是什么?
解决方案
command
旨在专门调用外部命令。例如,如果您有 的别名或函数git
,command git
将绕过这些。
您正在寻找将builtin
命令查找限制为仅内置命令的命令。
source() {
echo "sourcing $1"
builtin source "$1"
}
推荐阅读
- firebase - 托管在 Firebase 上的 Ionic 应用程序需要清除缓存
- spring - 从 Jenkins 运行 Spring Boot
- python - 尝试正确格式化此字符串,因为它会引发错误
- php - 批量更新端点资源路由
- jakarta-ee - EJBConfigurationException IBM websphere 9.0.11
- python - 使用递归函数排序
- javascript - 如何使用来自 react-responsive 的 MediaQuery 来仅隐藏一个 JSX 属性?
- wordpress - wordpress 多站点辅助站点不工作
- typescript - 打字稿:从字符串类型中通用删除类型
- xcode - 如何防止 PHPickerViewController 显示 iCloud 照片/视频?