ZSH Псевдоним с несколькими командами, указывающими «команда не найдена»

Я использую эту серию команд для создания и запуска контейнера докеров. Команды работают в сочетании с && и дают следующий результат:

> 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"

Это та же самая команда, что и приведенная выше, которая работает непосредственно в оболочке.

Но при запуске псевдонима (после перезагрузки 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 к первой команде, но получил тот же результат.

Признательны за любую помощь!

0
задан 20 February 2020 в 21:15

1 ответ

Отвечая на свой вопрос, основанный на комментарии @ steeldriver.

$ (docker ps -a -q --filter ancestor = redoc1) оценивается при загрузке псевдонима (из-за внешних двойных кавычек), а не при его запуске, что и вызывает проблему.

Простое решение - заменить двойные кавычки одинарными.

1
ответ дан 21 February 2020 в 21:07

Другие вопросы по тегам:

Похожие вопросы: