gpt4 book ai didi

terminal - 别名 zsh : parse error near `do'

转载 作者:行者123 更新时间:2023-12-02 03:35:50 26 4
gpt4 key购买 nike

我遇到了 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之后关键字,但它没有解决问题。但是,如果我直接从终端执行代码,该别名就会正确运行。

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

提前致谢。

最佳答案

不要尝试为此使用别名;使用函数。

cleanimg () {
for i in $(docker images | awk '/<none>/ {print $3}'); do
docker rmi -f "$i"
done
}

这使您不必正确引用,以便在使用别名时运行命令替换,而不是在定义别名时运行。

(此外,grep | awk 管道几乎总是可以单独使用 awk 来实现。)

(我还想知道您是否可以使用 --filters 选项来省去 awk 和循环;也许 docker rmi -f $(docker images -q -f "dangling=true")?)

关于terminal - 别名 zsh : parse error near `do' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50249586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com