簡體   English   中英

Shell:通過名稱獲取函數的主體

[英]Shell : get function's body by it's name

我使用zsh (有時是bash )。 問題是我有多個shell腳本,而且我不知道如何編寫一個小函數來通過其名稱來打印功能代碼(突出顯示;我使用pygmentize -g )。 這是我想要得到的一個小例子:


$ getfunc "somefunc"

# from    my_little_hacks.sh
somefunc () {
    # function code
}

在shell解釋器可用的最佳時間里,是否在不使用nlcat情況下在shellawk執行此操作的一種干凈有效的方法?

function的主體中不可能有單詞function ,除非那里有嵌套的function 在引號內法律上沒有配對的{}也幾乎是不可能的。

declare -f funcname

...將同時在bash和zsh中檢索函數funcname的代碼。 從而:

getfunc() {
  declare -f "$@" | pygmentize -l bash
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM