Hiển thị thân hàm trong Bash


13

Tôi đã thiết lập một số chức năng trong .bashrctập tin của tôi . Tôi muốn chỉ hiển thị mã thực tế của hàm và không thực thi nó, để nhanh chóng tham khảo một cái gì đó.

Có cách nào, chúng ta có thể thấy định nghĩa hàm?

Câu trả lời:


14

Các declarenhân được xây dựng trong -ftùy chọn nào đó:

bash-4.2$ declare -f apropos1
apropos1 () 
{ 
    apropos "$@" | grep ' (1.*) '
}

Tôi sử dụng typecho mục đích đó, nó ngắn hơn để gõ;)

bash-4.2$ type apropos1
apropos1 is a function
apropos1 () 
{ 
    apropos "$@" | grep ' (1.*) '
}

6

Bạn có thể sử dụng typelệnh để làm điều này.

type yourfuncsẽ in chức năng sang STDOUT. Như đã man typenói,

Tiện ích loại sẽ chỉ ra cách mỗi đối số sẽ được diễn giải nếu được sử dụng làm tên lệnh.

2
man type? Shell dựng thường không có trang man trên hệ thống của tôi.
manatwork

Tôi đã cập nhật câu trả lời của tôi với một liên kết. Hệ thống tôi sử dụng là Arch Linux.
jasonwryan

1
Cảm ơn bạn. Có vẻ như gói man-page chứa nhiều hơn trên Arch.
manatwork

Không có vấn đề gì: vì đây là một trong những trang của POSIX, tôi nghĩ rằng nó sẽ được phân phối rộng rãi ...
jasonwryan

4
help typehiển thị thông tin cụ thể của Bash.
l0b0

0

để sử dụng thông tin của lệnh dựng sẵn:

help [-s|-d] COMMAND1 COMMAND2 ....

ví dụ:

help help alias

Để biết thông tin về tất cả các loại, ví dụ:

help -s '' 
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.