2016-08-08 35 views
0

Ich möchte ein Shell-Skript zu starten mein Projekt env. Ich verwende ITerm2 mit zsh und oh-my-zsh installiert.Öffnen Sie neue Registerkarte in ITerm2 und führen Sie Befehle dort mit Zsh-Skript

Ich möchte:

  1. Buch öffnen
  2. aktivieren Python virtualenv
  3. Run django Befehl
  4. Wechseln Sie auf die neue Registerkarte Verzeichnis
  5. Änderung
  6. Run schluck Befehl verwalten zu sehen für Frontend-Änderungen

Alles, was ich habe, ist dies:

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

Und wie Sie funktioniert dies nicht erwarten kann. Kannst du mir Richtung zeigen wo ich hinschauen soll oder ist das überhaupt möglich mit nur Shell Script?

Antwort

1

Komplett möglich.

Ich habe ziemlich genau die gleiche Sache, die Sie versuchen (obwohl es ein Rails-Projekt ist) mit einem NPM-Paket namens Ttab.

  1. Install NPM.
  2. Install TTab.
  3. Sie können wie so die Befehle in der neuen Registerkarte ausführen:
# First switch to directory 
cd front 
# Open new tab in that directory and execute 
ttab -G eval "gulp watch" 

Hinweis: Sie können mehrere Befehle ausführen, wenn nötig, wie gulp watch; rails s.

  1. Wenn Sie einen Befehl auf der ursprünglichen Registerkarte ausgeführt werden müssen, die auch auf einem anderen Verzeichnis ist, können Sie eine Prozedur/Funktion in Ihrem Skript-Datei erstellen, das zu tun:
# 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 

Wenn Sie einen Blick darauf, wie ich tat dies nehmen wollen, Check-out Sie bitte das confereai.sh Skript in my MDFR repo.

+0

Hallo! Ich fand dieses Paket auch, aber ich wusste nicht über Funktionen. Vielen Dank –