我正在使用这一系列命令来构建和运行一个 docker 容器。这些命令在结合&&
并给出如下输出时起作用:
> docker stop $(docker ps -a -q --filter ancestor=redoc1) && docker build -t redoc1 . && docker run -p 8070:80 -d redoc1
4127c16715e8
3995f290bcf3
60cacd2d669b
7e509bd0f443
69e186743360
1caad359f950
Sending build context to Docker daemon 113.7kB
Step 1/2 : FROM redocly/redoc:v2.0.0-rc.18
---> 262cf1bbd824
Step 2/2 : COPY config/docker/index.tpl.html /usr/share/nginx/html/index.html
---> Using cache
---> a8b03c1555c5
Successfully built a8b03c1555c5
Successfully tagged redoc1:latest
183bd1af2d61968e67c6b0eec27d24a5892851ddc15b41bc155b8335de83f0ac
我正在使用 Z Shell,并且通常为这些重复的命令集设置别名。成功,直到现在。
我在中创建了以下内容~/.zshrc
:
alias redocly-local-deploy="docker stop $(docker ps -a -q --filter ancestor=redoc1) && docker build -t redoc1 . && docker run -p 8070:80 -d redoc1"
它与上面的命令完全相同,直接在 shell 中工作。
但是在运行别名时(在重新加载 zshrc 之后),它在第一个(或第二个?)命令之后失败:
> redocly-local-deploy
4127c16715e8
zsh: command not found: 3995f290bcf3
zsh: command not found: 60cacd2d669b
zsh: command not found: 7e509bd0f443
zsh: command not found: 69e186743360
zsh: command not found: 1caad359f950
看起来第一个命令的输出把它扔掉了。我尝试添加> /dev/null
到第一个命令,但得到了相同的结果。
感谢任何帮助!