鱼壳:一行中有多个命令,而其中一些则在后台运行

pit*_*las 0 fish

鱼壳:

git add --all; git commit -m "fix";  (git push psnano master &  git push psnanoserv master)
Run Code Online (Sandbox Code Playgroud)

上面的方法不起作用。这可能很疯狂,但是我试图一行代码地做到这一点:

按顺序执行以下命令:

git add --all
git commit -m "fix"
Run Code Online (Sandbox Code Playgroud)

完成后,并行执行以下命令:

git push psnano master
git push psnanoserv master
Run Code Online (Sandbox Code Playgroud)

Doc对此不清楚。也许不能用FISH完成?

fah*_*aho 7

这可能太疯狂了,但我正试图一口气做到这一点

没有技术上的理由可以做到一行,而且我建议不要总是尝试将所有内容都放在一行中。

无论如何,如果您想要:

git add --all; git commit -m "fix"; git push psnano master & git push psnanoserv master
Run Code Online (Sandbox Code Playgroud)

()分别表示在子shell POSIX炮弹在这种情况下是不需要的。

Fish不支持该语法(()表示命令替换),并且不具有子外壳(有begin; end块,但它们不像子外壳那样孤立),因此()只需删除即可。

;可以通过换行来代替,所以

git add --all
git commit -m "fix"
git push psnano master &
git push psnanoserv master
Run Code Online (Sandbox Code Playgroud)

表示完全相同的东西。