别名zsh:'do'附近的解析错误

时间:2018-05-09 09:10:39

标签: terminal alias zsh parse-error

我遇到了zsh的别名问题。

我在.zprofile文件中使用了此别名:alias cleanimg="for i in `docker images | grep '<none>' | awk '{print $3}'`; do; docker rmi -f $i; done"

从我的终端运行cleanimg时,我收到此错误:zsh: parse error near `do'

我尝试在;关键字之后删除do,但它没有解决问题。 但是,如果我直接从终端执行代码,该别名将正确运行。

有人可以帮我解决这个语法错误吗?

先谢谢。

2 个答案:

答案 0 :(得分:0)

如果您只想清理泊坞窗图像,可以设置如下别名:

alias cleanimg='docker rmi -f $(docker images -q -f "dangling=true")'

子指挥官docker images -q -f "dangling=true"会返回您要移除的所有ID,因为docker rmi接受您可以直接传递的参数

答案 1 :(得分:-1)

你的for循环中有一个额外的分号,只需将其修改为 -
alias cleanimg="for i in码头图片| grep&#39;&#39; | awk&#39; {print $ 3}&#39; ; do docker rmi -f $i; done"