首页 > 解决方案 > 包含 while do 循环的 bash 别名给出了意外的令牌错误

问题描述

当我在 bash 中运行此命令时,它工作正常:

$ while sleep 1; do mysqladmin proc | grep tbl1; done

但是,当我将它添加到我的 .bash_aliases 或只是运行时:

$ alias loop='while sleep 1; do $@; done'

它产生此错误(ls用作示例):

$ loop ls
-bash: syntax error near unexpected token `ls'

我的目标是将此循环命令作为别名合并到我的 shell 中,以便我可以更频繁地使用它。我尝试过不同的转义方式,包括双引号、单引号${$@}等等。

标签: bashwhile-loopalias

解决方案


推荐阅读