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?

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.*) '
}

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.

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 '' 
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.