在 ITerm2 中打开新选项卡并使用 zsh 脚本在其中执行 运行 命令

Open new tab in ITerm2 and run commands there with zsh script

我想制作一个 shell 脚本来启动我的项目环境。 我正在使用安装了 zsh 和 oh-my-zsh 的 ITerm2。

我想:

  1. 打开目录
  2. 激活python virtualenv
  3. 运行 django 管理命令
  4. 切换到新标签页
  5. 更改目录
  6. 运行 gulp 监视前端变化的命令

我得到的只有这个:

#!/bin/zsh
cd ~/Projects/python/project_name
source ~/virtualenvs/project_name/bin/activate
python ./backend/manage.py runserver 
tab
cd front
gulp watch

如您所料,这是行不通的。你能指出我应该看的方向吗?或者这甚至可以只用 shell 脚本来做?

完全有可能。

我使用名为 ttab 的 NPM 包做了与您正在尝试的几乎相同的事情(尽管它是一个 Rails 项目)。

  1. Install NPM.
  2. Install TTab.
  3. 您可以 运行 新选项卡中的命令,如下所示:
# First switch to directory
cd front
# Open new tab in that directory and execute
ttab -G eval "gulp watch"

注意:如果需要,您可以执行多个命令,例如gulp watch; rails s

  1. 如果您需要 运行 原始选项卡上的命令也在不同的目录中,您可以在脚本文件中创建一个 procedure/function 来执行此操作:
# Define the function before it is called
gotofolder()
{
  cd ~/mydirectory
}

# start the other tabs (...)

# change the original tab directory
gotofolder
# Run Rails or whatever
./bin/rails s

如果您想看看我是如何做到的,请查看 my MDFR repo 中的 confereai.sh 脚本。