Puisqu'il est si trivial d'ouvrir un nouvel onglet, je suggérerais de rendre l'exécution de vos commandes aussi triviale que possible, et de le faire à l'ancienne.
Vous avez appelé deux actions spécifiques, alors travaillons avec celles-ci. Notez que je vais faire beaucoup d'hypothèses basées sur ce que je sais de Rails, mais pas nécessairement spécifique à votre projet.
Pour abréger une longue histoire, alias une commande pour faire ce que vous voulez aussi, ou créez un script shell trivial pour faire ce que vous voulez.
Créez un script shell nommé myapp.start
, avec le contenu:
#!/bin/bash
cd Development/rails/myapp
# Do any common environment initializations here, such as RAILS_ENV=development
script/server
Vous devrez probablement également créer un fichier nommé .bash_profile dans votre répertoire personnel, ou en modifier un déjà existant, et ajouter une ligne comme;
export PATH="$HOME/bin:${PATH}"
Ensuite, créez un répertoire bin dans votre dossier personnel et déplacez-y le script myapp.start. Assurez-vous également que le propriétaire exécute le bit au minimum ( chmod 700 myapp.start
).
Ensuite, ouvrez Terminal.app, tapez myapp.start
et vous avez des rails en cours d'exécution. Sinon, tapez myapuis appuyez sur Tabet laissez la saisie semi-automatique remplir le reste, appuyez sur return. Boom, serveur en cours d'exécution.
Par extension, vous pouvez déjà comprendre comment faire une queue de fichier journal, mais je continuerai quand même. Créez un autre fichier dans ~ / bin nommé myapp.taillog, avec le contenu:
#!/bin/bash
tail -F ~/Development/rails/myapp/logs/development.log
Encore une fois, placez-le dans le dossier bin chmod 700 ~/bin/myapp.taillog
, puis après le démarrage puis le serveur rails, appuyez rapidement sur ⌘t, tapez myapp.taillog
et vous avez un fichier journal en cours d'impression.
Deux commandes, deux frappes supplémentaires (ouverture des onglets), c'est peut-être suffisant?
Il y a deux améliorations très évidentes ici. L'une consiste à écrire une fonction shell capable de "découvrir" les noms des applications rails, de sorte que vous n'avez pas à écrire un script shell pour chacune, l'écriture d'une sous-commande conçue pour démarrer webbrick / votre serveur rails de choix, et commandes pour la queue -F'ing quelques fichiers journaux clés en routine.
La deuxième amélioration est qu'il est probable que vous puissiez écrire un AppleScript qui fasse l'interaction du terminal nécessaire et l'exécution appropriée des commandes à l'intérieur de chacun. Mais franchement, je craque pour AppleScript et je travaille du code bash et du code perl toute la journée, donc je propose des conseils pertinents pour mes compétences :).