bash - 包含 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 中,以便我可以更频繁地使用它。我尝试过不同的转义方式,包括双引号、单引号${$@}
等等。
解决方案
推荐阅读
- terraform - 将 terraform 输出从一个文件传递到另一个文件
- python - Python SMTP Gmail 限制
- json - NIFI - 使用一个 ReplaceText 处理器如何在每行的开头和结尾添加括号
- mongodb - mongodb 中的 db.collections.insert() 中的无序插入如何表现
- r - R - 如何转换频率的分类变量
- python - 使用正则表达式删除确切字符串之前的所有内容
- nginx - hls 流在 nginx-rtmp-module 中不起作用
- html - 没有 在 Django 上没有
- html - CSS Flex:两列具有固定宽度,其余两列具有相对宽度
- python - 使用列表复制存储桶中的多个文件