如何绕过shell函数中的递归函数定义?

时间:2017-10-10 17:12:23

标签: shell zsh

我想在我的.zshrc中添加如下函数:

rg() { rg "$@" --pretty less -XFRS ;}

问题是,这会在调用时导致无限循环。

单引号命令的名称('rg' --pretty …)绕过了本地定义的函数和别名;但由于某种原因,这无法阻止无限循环。

我可以用绝对路径

来实现它
rg() { /usr/local/bin/rg "$@" --pretty less -XFRS ;}

...但我不想失去$PATH - 解决该计划;我只是想要绕过这个功能。

1 个答案:

答案 0 :(得分:2)

您可以使用command内置:

rg() { command rg "$@" --pretty less -XFRS ;}

运行时COMMAND ARGS抑制shell函数查找,或显示有关指定COMMAND的信息。