我們的ksh環境定義了幾個函數。可以使用typeset -f
ksh命令(或functions
別名)列出這些函數的名稱。是否有可能看到這些函數的定義(即源代碼)?是否可以查看ksh函數的「源」?
這似乎是一個明顯的問題,但我已嘗試所有方式的參數typeset -f
沒有運氣。
作爲一個例子(在Linux):
$ foo()
> {
> echo foo
> }
$ foo
foo
$ typeset -f foo
foo
$
對於一些(但不是全部)通過默認在環境中定義的其他功能,typeset -f
確實顯示源。
更新1:這是與Linux內核發生2.4.21-32
更新2:更新2:按Ctrl-V提供了 「版本中號1993年12月28日N +」 - 看起來這是很老版本,所以可能沒有被吉爾mentionned的修復之下
謝謝你,史蒂夫
'函數'會列出源碼,至少我試過了我的ksh版本 – ghostdog74 2010-04-08 13:20:02
看來,在Linux上,「函數」命令顯示了一些函數的源代碼,但並非全部。在Solaris上它只顯示功能名稱的列表。 – stevec 2010-04-08 13:40:46
和ksh的版本?不妨也包括髮行版本及其版本。 – 2010-04-22 16:20:44