Bash shell 列出自己定義的 Function

自己寫了不少的 Shell script function 來使用,但是平常沒在記憶名字,常常忘記又寫了一次,在 Bash shell 要怎麼列出自己寫得 Function name 呢?

Bash shell 列出自己定義的 Function

Shell Script 的 Function 要怎麼全部列出來,然後列出自己寫的 Function,怎麼查看 Function 的詳細內容?

下述 declare 都可以用 typeset 取代(方便記憶用 declare = typeset)

列出所有 Function

  • $ declare -F

列出此 Function 的詳細內容(下述用 timestamp_to_date 來做範例,二選一即可)

  • $ declare -f timestamp_to_date
    timestamp_to_date ()
    {
        date +"%Y-%m-%d %H:%M:%S" --date="@$1"
    }
  • $ type timestamp_to_date
    timestamp_to_date 是一個函數
    timestamp_to_date ()
    {
        date +"%Y-%m-%d %H:%M:%S" --date="@$1"
    }

列出自己寫的所有 Function (下述都可以達成需求)

  • declare -F | grep -v "\-f _"
  • set | grep " ()" | grep -v "^_"
  • 或者自己寫一個 list_function()
    function list_function() {
        declare -F | grep -v "\-f _"
    }

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料