Vì việc mở một tab mới rất tầm thường, tôi khuyên bạn nên thực hiện các lệnh của mình tầm thường nhất có thể và thực hiện theo cách cũ.
Bạn đã gọi ra hai hành động cụ thể, vì vậy hãy làm việc với những hành động đó. Lưu ý rằng tôi sẽ đưa ra rất nhiều giả định dựa trên những gì tôi biết về Rails, nhưng không nhất thiết phải cụ thể cho dự án của bạn.
Để cắt ngắn một câu chuyện dài, bí danh một lệnh để làm những gì bạn muốn, hoặc tạo một kịch bản shell tầm thường để làm những gì bạn muốn.
Tạo một tập lệnh shell có tên myapp.start
, với nội dung:
#!/bin/bash
cd Development/rails/myapp
# Do any common environment initializations here, such as RAILS_ENV=development
script/server
Bạn cũng có thể phải tạo một tệp có tên .bash_profile trong thư mục chính của bạn hoặc sửa đổi một tệp đã tồn tại và thêm một dòng như;
export PATH="$HOME/bin:${PATH}"
Sau đó, tạo một thư mục bin trong thư mục nhà của bạn và di chuyển tập lệnh myapp.start vào nó. Đảm bảo nó cũng có bit thực thi của chủ sở hữu ở mức tối thiểu ( chmod 700 myapp.start
).
Sau đó, mở Terminal.app, gõ myapp.start
và bạn có đường ray đang chạy. Hoặc, nhập myarồi nhấn Tabvà để tự động điền vào phần còn lại, nhấn return. Boom, máy chủ đang chạy.
Theo tiện ích mở rộng, bạn có thể đã hiểu cách thực hiện đuôi tệp nhật ký, nhưng tôi sẽ tiếp tục trên mọi phương diện. Tạo một tệp khác trong ~ / bin có tên myapp.taillog, với nội dung:
#!/bin/bash
tail -F ~/Development/rails/myapp/logs/development.log
Một lần nữa, đặt nó vào thư mục bin chmod 700 ~/bin/myapp.taillog
, sau đó sau khi bắt đầu, sau đó rails server, nhanh chóng nhấn ⌘t, gõ myapp.taillog
và bạn có một tệp nhật ký được in.
Hai lệnh, hai tổ hợp phím bổ sung (mở các tab), có lẽ như vậy là đủ?
Có hai cải tiến rất rõ ràng ở đây. Một là viết một hàm shell có khả năng "khám phá" tên của các ứng dụng rails, vì vậy bạn không phải viết một kịch bản shell cho mỗi, viết một lệnh phụ được thiết kế để khởi động webbrick / máy chủ rails của bạn và các lệnh cho đuôi -F'ing một vài tệp nhật ký chính thường xuyên.
Cải tiến thứ hai là có khả năng bạn có thể viết một AppleScript thực hiện tương tác đầu cuối cần thiết và thực thi lệnh thích hợp bên trong mỗi cái. Nhưng thật lòng mà nói, tôi rất thích AppleScript và làm việc với mã bash và mã perl cả ngày, vì vậy tôi sẽ đưa ra lời khuyên liên quan đến bộ kỹ năng của mình :).