Tampilkan tubuh fungsi di Bash

14

Saya telah mengatur beberapa fungsi di .bashrcfile saya . Saya hanya ingin menampilkan kode aktual dari fungsi dan tidak menjalankannya, untuk dengan cepat merujuk ke sesuatu.

Apakah ada cara, kita bisa melihat definisi fungsi?

mtk
sumber

Jawaban:

15

Opsi declarebuiltin -fmelakukan itu:

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

Saya menggunakan typeuntuk tujuan itu, lebih pendek untuk mengetik;)

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

Anda dapat menggunakan typeperintah untuk melakukan ini.

type yourfuncakan mencetak fungsi ke STDOUT. Sebagaiman type kata,

Utilitas jenis harus menunjukkan bagaimana setiap argumen akan ditafsirkan jika digunakan sebagai nama perintah.
jasonwryan
sumber
2
man type? Shell builtins biasanya tidak memiliki halaman manual di sistem saya.
manatwork
Saya telah memperbarui jawaban saya dengan tautan. Sistem yang saya gunakan adalah Arch Linux.
jasonwryan
1
Terima kasih. Tampaknya paket man-pages berisi lebih banyak pada Arch.
manatwork
Tidak masalah: karena ini adalah salah satu halaman manual POSIX, saya pikir ini akan didistribusikan secara luas ...
jasonwryan
4
help typememperlihatkan informasi spesifik Bash.
l0b0
0

untuk penggunaan info perintah builtin:

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

sebagai contoh:

help help alias

Untuk info tentang semuanya ketikkan, misalnya:

help -s '' 
Robert
sumber