Lihat definisi fungsi shell saat ini

11

Jadi saya mengedit bashrc terus-menerus, dan saya memiliki terminal terbuka dengan definisi fungsi yang berfungsi, meskipun bashrc telah diperbarui dengan definisi fungsi yang salah. (Karena definisi tidak berubah sampai saya sumber bashrc yang diperbarui) Bagaimana saya bisa mencari definisi fungsi kerja dalam kasus ini? Misalnya, jika saya mengetik:

alias function_name

Saya bisa melihat apa definisi untuk alias itu. Apakah ada perintah yang serupa untuk fungsi? Jika tidak, apakah ada perintah untuk mengeluarkan seluruh bashrc yang digunakan terminal saat ini?

Forethinker
sumber

Jawaban:

18
typeset -f function

menampilkan definisi terkini fungsi yang ditunjukkan. Ia bekerja di ksh (tempat asalnya), bash dan zsh. (nb di zsh, type -f, which, functionsdan whence -fjuga menunjukkan definisi fungsi.)

Kevin
sumber
Anda juga dapat menggunakan whence -cvdi zsh. The -vpilihan adalah untuk memberitahu Anda, jika tidak ada alias seperti atau fungsi (atau sebaliknya dieksekusi di dalam kamu PATH) sama sekali. Jika Anda sering menggunakannya (seperti saya), Anda bisa menyebutnya dengan perintah satu kata.
Emanuel Berg