Một trong những tính năng ít được chào hàng nhất của Bash (và một vài trình bao khác) là khả năng viết các tệp tải của riêng bạn và để trình bao chạy chúng dưới dạng nội trang dựng sẵn.
phép nói rằng bạn viết có thể nạp được 'bật' .. và bạn muốn nó hoạt động như thế này:
on node 123 run some command
on class nodes run some command
on all nodes run some command
... vv ..
Bạn có thể làm theo tấm gương đơn giản về cách viết một nạp, sau đó kích hoạt nó như là một bash xây dựng trong qua phép -f/path/to/loadable loadable_name
vì vậy, trong trường hợp của chúng tôi, cho phép -f/opt/bash/loadables/vào trên
... trong bashrc của bạn và bạn đã có nó. Vì vậy, nếu bạn muốn bash giải thích ngôn ngữ mới của bạn một cách tự nhiên, bạn sẽ viết một tên có thể nạp được 'sử dụng' hoặc 'switch_to', sau đó sửa đổi trình phân tích cú pháp để tải ngữ pháp/thời gian chạy khác nhau nếu một biến môi trường nhất định là bộ.
tức là .:
#/bin/bash
switch_to my-way-cool-language
funkyfunc Zippy(int p) [[
jive.wassup(p) ]]
Hầu hết mọi người là không sẽ muốn hack vỏ của họ, tuy nhiên. Tôi đã muốn chỉ ra rằng các cơ sở tồn tại để chiếm lấy Bash và biến nó theo cách bạn muốn, mà không phải lo lắng quá nhiều với mã lõi.
Xem/đường dẫn đến nguồn bash/ví dụ/loadables, bạn có thể có được điều đó để bay nơi bạn làm việc, vì bạn vẫn đang sử dụng Bash.
Nguồn
2009-06-01 08:08:18
Các tính năng nào bạn bỏ lỡ trong bash vs có sẵn trong các hệ vỏ khác mà bạn cho là sáng tạo? Quan trọng hơn là bạn có thấy các tính năng mà bạn nghĩ sẽ giúp bash để làm những gì nó được viết cho? Ví dụ. từ quan điểm của tôi bash là một giao diện dòng lệnh để truy cập tài nguyên hệ điều hành, từ quan điểm đó bạn đang thiếu chức năng nào? – stefanB
Có lẽ nó là một cách để ở trong triết lý Unix của việc sử dụng các công cụ nhỏ mà làm những điều cụ thể rất tốt (như trái ngược với các công cụ lớn mà làm mọi thứ kém). –
đây là một loại giun .. mở nó cẩn thận .. – sybreon