Đây là một thủ tục thiết yếu để khai báo hàm vĩnh viễn:
Mở ~/.bashrc
tệp trong một trình soạn thảo văn bản. Không quan trọng là trình soạn thảo văn bản nào, miễn là bạn biết cách sử dụng nó và miễn là bạn mở/home/<username>/.bashrc
Vào cuối ~/.bashrc
khai báo hàm riêng của bạn, ví dụ:
find_dirs(){
find "$1" -type d
}
Lưu và đóng tập tin.
Các ~/.bashrc
tập tin là đọc mỗi khi bạn mở vỏ tương tác (có nghĩa là tab mới thiết bị đầu cuối, đăng nhập thông qua ssh
, hoặc tty1 mở hoặc bàn giao tiếp ảo khác). Điều này sẽ không có sẵn trong các tập tin kịch bản, bởi vì~/.bashrc
không được đọc cho các shell không tương tác. Nó cũng không có sẵn nếu bạn chạy bash
với --norc
tùy chọn.
Nếu bạn muốn chức năng có sẵn ngay lập tức trong tab hiện đang mở, hãy sử dụng source ~/.bashrc
lệnh.
Các hàm lấy các đối số giống như các lệnh thông thường. Ví dụ, $1
thông qua $9
chỉ ra các tham số vị trí khi bạn gọi một hàm. Trong ví dụ trên chỉ find_dirs
lấy một tham số vị trí và sẽ được gọi là find_dirs /etc
. Bạn cũng có thể sử dụng $@
để tham khảo tất cả các tham số vị trí. Chức năng cũng chấp nhận chuyển hướng. Bạn có thể gọi một chức năng với find_dirs $1 > /dev/null
; chúng tôi cũng có thể tuyên bố nó như sau:
find_dirs(){
find "$1" -type d
}
Lưu ý từ man bash
: "Các hàm được thực thi trong ngữ cảnh của trình bao hiện tại; không có quy trình mới nào được tạo để giải thích chúng". Điều đó có nghĩa là bạn cũng nên biết các hàm có khả năng thay đổi môi trường thực thi shell của bạn - thay đổi các biến và cài đặt đầu cuối.