Ya que es tan trivial abrir una nueva pestaña, sugeriría que la ejecución de sus comandos sea lo más trivial posible, y hacerlo de la manera más antigua.
Llamaste dos acciones específicas, así que trabajemos con ellas. Tenga en cuenta que haré muchas suposiciones basadas en lo que sé sobre Rails, pero no necesariamente específicas de su proyecto.
Para abreviar una larga historia, alias un comando para hacer lo que quieras, o crea un script de shell trivial para hacer lo que quieras.
Cree un script de shell llamado myapp.start
, con el contenido:
#!/bin/bash
cd Development/rails/myapp
# Do any common environment initializations here, such as RAILS_ENV=development
script/server
Es probable que también tenga que crear un archivo llamado .bash_profile en su directorio de inicio, o modificar uno ya existente, y agregar una línea como;
export PATH="$HOME/bin:${PATH}"
Luego, cree un directorio bin en su carpeta de inicio y mueva el script myapp.start a ella. Asegúrese también de que el propietario ejecute el bit como mínimo ( chmod 700 myapp.start
).
Luego, abre Terminal.app, escribe myapp.start
, y tienes rieles en ejecución. Alternativamente, escriba my a luego presione Tabulación , y deje que el autocompletar complete el resto, presione para regresar . Boom, servidor en ejecución.
Por extensión, es posible que ya entiendas cómo hacer una cola del archivo de registro, pero continuaré de todos modos. Cree otro archivo en ~ / bin llamado myapp.taillog, con el contenido:
#!/bin/bash
tail -F ~/Development/rails/myapp/logs/development.log
Nuevamente, colóquelo en la carpeta bin, chmod 700 ~/bin/myapp.taillog
, luego, después de iniciar el servidor de rails, presione rápidamente ⌘ t , escriba myapp.taillog
, y tendrá un archivo de registro que se está imprimiendo.
Dos comandos, dos teclas adicionales (abriendo las pestañas), ¿quizás eso sea suficiente?
Hay dos mejoras muy obvias aquí. Una es escribir una función de shell capaz de "descubrir" los nombres de las aplicaciones de rieles, de modo que no tenga que escribir un script de shell para cada una, la escritura de un subcomando diseñado para iniciar webbrick / el servidor de rieles de su elección, y Comandos para cola -F'ing unos pocos archivos clave de registro de forma rutinaria.
La segunda mejora es que es probable que pueda escribir un AppleScript que realice la interacción del terminal necesaria y la ejecución apropiada de los comandos dentro de cada uno. Pero, francamente, apesto en AppleScript y trabajo en código bash y código perl todo el día, por lo que ofrezco consejos relevantes para mi conjunto de habilidades :).