Поскольку открыть новую вкладку настолько тривиально, я бы посоветовал сделать выполнение ваших команд как можно более простым и сделать это старомодным способом.
Вы назвали два конкретных действия, так что давайте поработаем с ними. Обратите внимание, что я собираюсь сделать много предположений, основанных на том, что я знаю о 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}"
Затем создайте каталог bin в своей домашней папке и переместите в него скрипт 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
, затем после запуска, затем rails server, быстро нажмите ⌘t, введите myapp.taillog
, и у вас будет файл журнала, который будет напечатан.
Две команды, два дополнительных нажатия клавиш (открытие вкладок), возможно, этого достаточно?
Здесь есть два очень очевидных улучшения. Одним из них является написание функции оболочки, способной «обнаруживать» имена приложений rails, так что вам не нужно писать сценарий оболочки для каждого, писать подкоманду, предназначенную для запуска webbrick / вашего сервера rails, и Команды для хвоста -F'а несколько ключевых файлов журнала.
Второе улучшение заключается в том, что вы, вероятно, могли бы написать AppleScript, который выполняет необходимое взаимодействие с терминалом и обеспечивает соответствующее выполнение команд внутри каждого. Но, честно говоря, я сосу AppleScript и целый день работаю над bash-кодом и perl-кодом, поэтому я даю советы, относящиеся к моему набору навыков :).