Оскільки відкрити нову вкладку настільки тривіально, я б запропонував зробити виконання ваших команд максимально тривіальним, і зробити це старомодно.
Ви назвали дві конкретні дії, тож давайте попрацюємо з цими. Зауважте, що я буду робити багато припущень, виходячи з того, що я знаю про Rails, але не обов'язково конкретно для вашого проекту.
Щоб скоротити довгу історію, псевдонім - команда робити те, що ви теж хочете, або створити тривіальний сценарій оболонки, щоб робити те, що ви хочете.
Створіть сценарій оболонки myapp.start
з назвою:
#!/bin/bash
cd Development/rails/myapp
# Do any common environment initializations here, such as RAILS_ENV=development
script/server
Вам, ймовірно, доведеться також створити файл з іменем .bash_profile у вашій домашній директорії або змінити вже існуючий та додати рядок типу;
export PATH="$HOME/bin:${PATH}"
Потім створіть каталог бін у своїй домашній папці та перемістіть у неї сценарій myapp.start. Переконайтесь, що у нього власник виконує біт як мінімум ( chmod 700 myapp.start
).
Потім відкрийте Terminal.app, введіть myapp.start
і у вас запущені рейки. Крім того, введіть myaпотім натисніть Tab, і нехай автозаповнення заповнить решту, натисніть return. Бум, сервер працює.
За розширенням ви вже можете зрозуміти, як зробити хвостовий файл журналу, але я продовжуватиму все одно. Створіть інший файл у ~ / bin з назвою myapp.taillog із вмістом:
#!/bin/bash
tail -F ~/Development/rails/myapp/logs/development.log
Знову помістіть його у папку bin, chmod 700 ~/bin/myapp.taillog
після запуску потім рельсовий сервер, швидко натисніть ⌘t, наберіть myapp.taillog
, і у вас буде надрукований файл журналу.
Дві команди, дві додаткові клавіші (відкриття вкладок), можливо, цього достатньо?
Тут є два дуже очевидних удосконалення. Перша полягає в тому, щоб написати функцію оболонки, здатну "відкривати" назви додатків рейок, тому вам не доведеться писати сценарій оболонки для кожного, написання підкоманди, призначеної для запуску веб-веб-сервера / вашого рейкового сервера, і команди для хвоста - регулярно проводячи кілька ключових файлів журналу.
Друге вдосконалення полягає в тому, що цілком ймовірно, що ви можете написати AppleScript, який виконує необхідну термінальну взаємодію та відповідне виконання команд всередині кожного. Але, відверто кажучи, я весь час всмоктую AppleScript і працюю над bash кодом та кодом perl, тому пропоную поради, що стосуються мого набору навичок :).