运行 shell 脚本打开两个终端并在其中运行命令

我正在设置一个 repo,我想制作一个 shell 脚本,该脚本将运行两个运行后端和构建前端的命令。到目前为止,我所拥有的是这样的:

#!/bin/sh
sh -e "sh -c 'cd frontend && ng build'"
sh -e "sh -c 'cd backend && symfony server:start'"

但是,当我尝试运行它时,我会返回sh: 0: Can't open sh -c ...两条线。解决这个问题的方法是什么?应该清楚的是,除非您手动执行,否则这两个命令都不会终止。不需要为这两个命令都打开一个新终端,一个可以在当前终端中执行。

格留

可以简化为:

$ ./twocmds.sh 
frontend
backend
$ cat ./twocmds.sh 
#!/bin/sh
/bin/sh -ec 'cd frontend && echo frontend'
/bin/sh -ec 'cd backend && echo backend'

此外,尝试在脚本中指定完整路径。frontendbackend我在当前目录中创建的文件夹,但最好指定它们的完整路径。

这是一个示例输出,因为我没有你的服务。你应该通过你的命令改变echo frontendecho backend,这意味着通过/usr/bin/ng build/usr/bin/symfony server:start但在它做之前whereis ng && whereis symfony找出你的命令的完整路径。

您的脚本可能如下所示:

#!/bin/sh
    /bin/sh -ec 'cd frontend && /usr/bin/ng build &'
    /bin/sh -ec 'cd backend && /usr/bin/symfony server:start'

首先尝试不使用&. 但是如果第二个命令等待第一个命令执行,则使用&将第一个命令发送到后台。此外,如果您需要在执行某些命令之前等待,请使用sllep X, whereX秒数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

运行两个shell命令

来自分类Dev

如何通过Shell脚本在已打开的终端中运行命令

来自分类Dev

运行shell脚本时如何打开终端?

来自分类Dev

Shell脚本:如何循环运行两个程序?

来自分类Dev

如何在Shell脚本中同时运行两个命令?

来自分类Dev

是否可以在Shell脚本中同时运行两个命令?

来自分类Dev

如何在Shell脚本中依次运行两个sql命令

来自分类Dev

从shell脚本运行ant命令

来自分类Dev

期望脚本运行shell命令

来自分类Dev

通过shell脚本运行hbase shell命令

来自分类Dev

Shell脚本:运行屏幕,打开多个屏幕,然后在每个屏幕中运行一个命令

来自分类Dev

Shell:如何并行运行两个脚本A和B,并在A结束时停止B

来自分类Dev

OSX Shell脚本打开新的终端窗口并运行程序

来自分类Dev

无法运行shell脚本

来自分类Dev

Shell脚本从哪里运行?

来自分类Dev

从Spotlight运行Shell脚本?

来自分类Dev

shell文件打开终端并以特定顺序运行命令序列

来自分类Dev

shell文件打开终端并以特定顺序运行命令序列

来自分类Dev

从Gulp运行Shell命令

来自分类Dev

SBCL运行Shell命令

来自分类Dev

Shell运行hadoop命令

来自分类Dev

打印shell运行的命令

来自分类Dev

Shell运行hadoop命令

来自分类Dev

打开终端并从automator运行命令以打开两个选项卡并运行命令

来自分类Dev

Shell脚本:命令不是“ foundne”,但在终端上运行良好

来自分类Dev

通过Fabric运行要运行后台运行命令的shell脚本

来自分类Dev

启动bash子shell并在脚本中运行命令

来自分类Dev

如何通过终端运行Shell脚本

来自分类Dev

运行shell脚本时终端关闭