From 7a8a5401608a8444a2295f78f03643e52d6459ac Mon Sep 17 00:00:00 2001 From: fauzan171 Date: Sat, 6 Jun 2026 23:30:06 +0700 Subject: [PATCH] fix(docker): handle empty container list in dsta alias The `dsta` alias (stop all running containers) previously used `docker stop $(docker ps -q)` which would fail with a usage error when no containers were running, since `docker stop` requires at least one argument. Convert the alias to a function that checks if there are running containers before attempting to stop them, and prints a helpful message when no containers are running. --- plugins/docker/docker.plugin.zsh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/docker/docker.plugin.zsh b/plugins/docker/docker.plugin.zsh index 9d7cf8641..a1954b853 100644 --- a/plugins/docker/docker.plugin.zsh +++ b/plugins/docker/docker.plugin.zsh @@ -29,8 +29,17 @@ alias 'drm!'='docker container rm -f' alias dsprune='docker system prune' alias dst='docker container start' alias drs='docker container restart' -alias dsta='docker stop $(docker ps -q)' alias dstp='docker container stop' +# Function to stop all running containers (handles empty list gracefully) +function dsta() { + local containers + containers=(${(f)"$(docker ps -q)"}) + if (( ${#containers} > 0 )); then + docker stop "${containers[@]}" + else + echo "docker: no running containers to stop" + fi +} alias dsts='docker stats' alias dtop='docker top' alias dvi='docker volume inspect'