我遇到了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
,但它没有解决问题。
但是,如果我直接从终端执行代码,该别名将正确运行。
有人可以帮我解决这个语法错误吗?
先谢谢。
答案 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"