Fish Shell: несколько команд в одной строке, когда некоторые из них работают в фоновом режиме - PullRequest
0 голосов
/ 04 марта 2019

Fish Shell:

git add --all; git commit -m "fix";  (git push psnano master &  git push psnanoserv master)

Выше не работает.Это может быть сумасшествием, но я пытаюсь сделать это в одной строке:

Выполните эти команды по порядку:

git add --all
git commit -m "fix"

И когда они завершатся, выполните эти команды параллельно:

git push psnano master
git push psnanoserv master

Док не знает об этом.Может быть, это не может быть сделано в FISH?

1 Ответ

0 голосов
/ 04 марта 2019

Это может быть сумасшествием, но я пытаюсь сделать это в одну строку

Нет технической причины делать это в одну строку, и я бы рекомендовал не всегда пытаться соответствоватьвсе в одну строку.

Независимо от того, если вы хотите:

git add --all; git commit -m "fix"; git push psnano master & git push psnanoserv master

() обозначает подоболочки в оболочках POSIX и в этом случае не нужны.

Fish не поддерживает этот синтаксис (() обозначает подстановки команд) и не совсем имеет подоболочек (есть блоки begin; end, но они не так изолированы, как подоболочки), поэтому () просто нужно

; может быть заменен символами новой строки, поэтому

git add --all
git commit -m "fix"
git push psnano master &
git push psnanoserv master

означает то же самое.

...