在 ITerm2 中打开新选项卡并使用 zsh 脚本在其中执行 运行 命令
Open new tab in ITerm2 and run commands there with zsh script
我想制作一个 shell 脚本来启动我的项目环境。
我正在使用安装了 zsh 和 oh-my-zsh 的 ITerm2。
我想:
- 打开目录
- 激活python virtualenv
- 运行 django 管理命令
- 切换到新标签页
- 更改目录
- 运行 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 项目)。
- Install NPM.
- Install TTab.
- 您可以 运行 新选项卡中的命令,如下所示:
# First switch to directory
cd front
# Open new tab in that directory and execute
ttab -G eval "gulp watch"
注意:如果需要,您可以执行多个命令,例如gulp watch; rails s
。
- 如果您需要 运行 原始选项卡上的命令也在不同的目录中,您可以在脚本文件中创建一个 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
脚本。
我想制作一个 shell 脚本来启动我的项目环境。 我正在使用安装了 zsh 和 oh-my-zsh 的 ITerm2。
我想:
- 打开目录
- 激活python virtualenv
- 运行 django 管理命令
- 切换到新标签页
- 更改目录
- 运行 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 项目)。
- Install NPM.
- Install TTab.
- 您可以 运行 新选项卡中的命令,如下所示:
# First switch to directory
cd front
# Open new tab in that directory and execute
ttab -G eval "gulp watch"
注意:如果需要,您可以执行多个命令,例如gulp watch; rails s
。
- 如果您需要 运行 原始选项卡上的命令也在不同的目录中,您可以在脚本文件中创建一个 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
脚本。