我想编写一个命令包装器,在执行底层命令之前检查条件。我不知道如何在不调用当前函数的情况下执行底层命令。
function npm() {
# if a yarn.lock file exists in the current dir or a parent dir then exit 1
npm "$@" # otherwise run the actual npm command, not this same function
}
我无法将整个路径硬编码到 npm,因为它会根据我当前激活的 npm 版本而变化。
答案1
这应该有效
command npm ...
其中command
称为预命令修饰符, 看https://zsh.sourceforge.io/Doc/Release/Shell-Grammar.html#Precommand-Modifiers