Javascript 如何连接多个bash命令?

Javascript 如何连接多个bash命令?,javascript,node.js,bash,macos,concatenation,Javascript,Node.js,Bash,Macos,Concatenation,使用此bash_配置文件命令,尝试在一个别名命令中运行后端和前端服务器,即ins alias is='ivui && npm run start:backend' alias ib='ivbe && npm run start:dev' alias ins='ib && is' 指的是不同的项目文件夹,它启动服务器,ib也指的是不同的文件夹和服务器。尝试将两者合并,但第一个只会触发,&&合并不会执行 Concatnpm有助于从单个项目文件夹中组合

使用此bash_配置文件命令,尝试在一个别名命令中运行后端和前端服务器,即
ins

alias is='ivui && npm run start:backend'
alias ib='ivbe && npm run start:dev'
alias ins='ib && is'
指的是不同的项目文件夹,它启动服务器,ib也指的是不同的文件夹和服务器。尝试将两者合并,但第一个只会触发,&&合并不会执行


Concat
npm
有助于从单个项目文件夹中组合两台服务器,但想知道如何使用
bash_profile
实现这一点?因此,只要执行
ins
,它就必须首先启动后端服务器,同时也启动前端。

双别名命令(
ib&&is
)不起作用的原因是,根据
man bash

别名允许用字符串替换用作别名的单词 简单命令的第一个字

显然,如果运行
ib&&is
,其中
ib
is
都是别名,那么它将只运行
ib

有了这些,我相信你的问题会有一个不同的更好的解决方案。您可以使用
screen
在后台运行这两个命令,还可以随时查看它们的终端输出

这个想法是:1。启动
屏幕
会话;2.在该会话中打开两个窗口;3.在第一个窗口中运行
npm Run start:backend
,在第二个窗口中运行
npm Run start:dev

以下是您需要的:

screen -S Servers -t backend_window -A -d -m
screen -S Servers -X screen -t dev_window
这将启动一个
屏幕
会话,其中包含
后端窗口
开发窗口
。现在,您只需在这些窗口中运行两个命令:

screen -S Servers -p backend_window -X stuff $'npm run start:backend\n'
screen -S Servers -p dev_window -X stuff $'npm run start:dev\n'
现在,您的两个npm命令都同时在后台运行。您只需将这4行代码放入
.bashrc
文件,它将在登录时启动

但是这种方法最好的部分是,通过附加屏幕并查看窗口内部,您可以直观地看到这些npm命令的运行情况。只需运行:

screen -rx Servers
默认情况下,这将显示第一个窗口。让我们拆分屏幕,并排显示两个窗口:

Ctr-A + | <- will split the screen into 2 sections
Ctr-A + Tab <- will shit cursor to the new section
Ctr-A + " <- will show you your 2 windows, just pick the dev

Ctr-A+|您可以创建一个函数并在其中添加别名,例如

stopdev () (
  cd "$HOME/website" && {
    make website_stop
    ret=$?
    make backend_stop && return $ret
  }
)
此示例还有一个返回代码,并调用了一个子shell来运行该函数,因此在调用该函数后,文件路径不是
$HOME/website

有关以下网页的更多信息,

当前设置会发生什么情况?ins没有被执行吗?如果您现在运行
is
,然后运行
ib
,一切都会像它应该的那样开始吗?对于ins,只执行ib,它不会到达is命令。两者都依赖NodeMoney,它将独立运行@codemonkey而不是集体运行可能运行ib会返回none 0退出状态?