在我的〜/ .zshrc中我设置了一个别名
alias dkill="docker kill $(docker ps -q)"
但它实际上并不像命令本身那样运行。
由于某种原因,它尝试将容器名称作为命令执行,而不是将它们传递给docker kill
命令。
Error response from daemon: Cannot kill container: 3f1xxxxx0c4: No such container: 3f1xxxxx0c4
zsh: command not found: 0aexxxxxx913
zsh: command not found: 46acxxxx75cd
zsh: command not found: 20f9xxxxx9c1
zsh: command not found: 63edxxxxc085
zsh: command not found: 6328xxxxfe4d
我应该如何重新定义别名以正确地杀死容器
正如@triplee所说,一旦你定义别名就会评估命令(当你打开zsh会话时,容器可能不存在)。
在你的.zshrc
中使用一个函数:
function dkill { docker kill $(docker ps -q) }
或者使用单引号:
alias dkill='docker kill $(docker ps -q)'