2013-01-07 24 views
9

hôm nay tôi muốn viết một hàm mà sẽ triển khai trang blog của tôi (được phát triển trong nanoc) để trang github tự động - đây là kịch bản:Đăng ký chức năng vỏ tùy chỉnh trong hệ thống (OSX)

function cmit() 
{ 
    nanoc compile; 
    git add .; 
    git commit -am $1; 
    git push origin source; 
    cd output; git add .; 
    git commit -am $1; 
    git push origin master; 
    cd ..; 
    echo 'new version deployed! now starting nanoc locally..'; 
    nanoc aco; 
} 

Ví dụ sử dụng: cmit "my example commit!"

Tôi thực sự không biết cách đăng ký chức năng của mình trong hệ thống (OSX) - trong .bashrc, .bash_profile hoặc có thể ở đâu đó khác? Hãy giúp tôi!

Trả lời

8

Chỉ cần thêm nó vào dưới cùng của file ~/.bashrc của bạn sau đó bạn sẽ có thể sử dụng cmit như một lệnh thường xuyên, bạn sẽ cần phải làm mới vỏ hiện tại của bạn để nhận những thay đổi để chạy source ~/.bashrc. Nếu bạn có chức năng được lưu trong một tệp cmit, hãy thực hiện cat cmit >> ~/.bashrc để nối hàm vào cuối số ~/.bashrc của bạn.

Bạn có thể thử ra một chức năng thử nghiệm đầu tiên:

# add to ~/.bashrc first 
function test() { 
    echo "Some test foo!" 
} 

$ source ~/.bashrc 

$ test 
Some test foo! 
+0

nó không hoạt động khi tôi khởi động lại giao diện điều khiển - làm thế nào để đăng ký nó một lần và cho tất cả (bây giờ tôi có mọi lúc chạy lệnh 'source' sau khi mở giao diện điều khiển ..): ( – mrmnmly

+2

Có vẻ như trên OSX' ~/.bashprofile' được sử dụng thay vì '~ .bashrc' để đặt hàm trong' ~/.bashprofile 'và điều đó sẽ giải quyết nó. –

+1

* cou gh * ehem * '~/.bash_profile' có dấu gạch dưới. –

3

Bạn có thể đặt nó trong .bashrc của bạn, nó sẽ làm việc miễn là bạn đang đăng nhập là chủ sở hữu của .bashrc tập tin này.

Nếu bạn muốn nó được sẵn sàng cho bất kỳ người sử dụng, đưa các nội dung của chức năng của bạn trong một tập tin kịch bản, làm cho nó thực thi sử dụng chmod sau đó di chuyển nó trong /usr/bin (tôi giả sử bạn có quyền quản trị trên hệ thống đó)

Lưu ý: thông thường là bạn muốn cho nó rwx rx rx quyền, tương ứng với một chmod 755 my_script

EDIT:

bạn có thể tạo riêng của bạn cho phép nói .my_bashrc và bằng cách nào đó yêu cầu hệ thống để cũng tìm trong tập tin đó?

Có bạn có thể, chỉ nói với .bashrc bạn nguồn tập tin của bạn:

source ~/my_files/.my_bashrc 

hoặc

. ~/my_files/.my_bashrc 
+0

cảm ơn bạn đã trả lời! – Templar

+0

Bạn được chào đón. – cmc

Các vấn đề liên quan